我正在逐行讀取多個文件,發現SequenceInputStream
方便。以下是我如何使用它:使用SequenceInputStream時逐行讀取多個文件的問題
try (
InputStream in = new SequenceInputStream(new FileInputStream(file1),new FileInputStream(file2));
Scanner reader = new Scanner(source)) {
while (reader.hasNext()) {
System.out.println(reader.nextLine());
}
}
但它有一個奇怪的問題。讓說:
文件1
a
b
文件2
c
d
然後執行的代碼將輸出:
a
bc
d
看來,它不區分林es從單獨的文件,有沒有辦法解決這個問題? (是的,我真的需要多InputStreams合併爲一個)
也許'file1'不會以換行符結束。 –
@JamesKPolk這是一個黑客。它會「工作」,但通常情況下,你會爲你將要讀取的提供的輸入文件寫入換行符嗎?這只是瘋狂的 – Benedictus
沒有換行符爲什麼你會期望一個單獨的行?掃描儀如何知道一個文件何時結束,並且下一個文件是否源於單個InputStream? –