私は区切り文字で、テキストファイルのすべての部分を放出するためのコードのこの部分を思い付いたが、延期は、放出された文字列を、私は本当にこの二重の質問です見当がつかない、最初に二重の疑問符をしているrxjava-stringにはどのような二重疑問符がありますか?
マークは例えば
から来るこれは
あるtest.txt私のテキストファイルの内容である
pieceOne;pieceTwo;pieceThree;
と、これはコンソールで;
区切り文字と私の出力です:
??pieceOne
pieceTwo
pieceThree
とここに私のコードです:
public Observable<String> readFile(String filePath, String delimiter) {
return Observable.just(filePath)
.map(Paths::get)
.map(this::safeInitializeInputStream)//just initialize inputstream here
.flatMap(in -> readInputStream(in, delimiter))
.observeOn(scheduler);
}
private Observable<String> readInputStream(InputStream is, String delimiter) {
return StringObservable
.split(StringObservable.from(new InputStreamReader(is,
Charset.forName("UTF-8"))), delimiter);
}
任意のアイデアは非常に高く評価されるだろう。
ほとんどのファイルはWindowsマシンからのもので、notepad.exeによってUTF-16として保存され、最初の2文字は「BOM」という「バイトオーダーマーク」です。通常は '0xff'' 0xfe'でなければなりません。ヘキサビューアをチェックインします。 – 9000
@ 9000ええ、まあ、ありがとうplz私はあなたを受け入れることができるように答えとしてurのコメントを投稿 –