我有一個文件,它被兩部分分割爲「\ n \ n」 - 第一部分不是太長字符串,第二部分是字節數組,這可能會很長。Java:分兩部分讀取文件 - 部分爲字符串,部分爲字節[]
我試圖讀取該文件,如下所示:儘管
byte[] result;
try (final FileInputStream fis = new FileInputStream(file)) {
final InputStreamReader isr = new InputStreamReader(fis);
final BufferedReader reader = new BufferedReader(isr);
String line;
// reading until \n\n
while (!(line = reader.readLine()).trim().isEmpty()){
// processing the line
}
// copying the rest of the byte array
result = IOUtils.toByteArray(reader);
reader.close();
}
結果數組都是應該的大小,它的內容被破壞。如果我試圖直接在fis
或isr
上使用toByteArray
,則結果內容爲空。
如何正確高效地讀取文件的其餘部分?
謝謝!
如果你還在'if(current =='\ t')'塊內部放置了'wasLast = false;',以防萬一遇到一個空的鍵值對導致'... \ n \ t \ n ...'? :) – 2013-03-01 17:10:36