我有一个文件,它被“\n\n”分成两部分——第一部分不是太长的字符串,第二部分是字节数组,它可能很长。
我正在尝试按如下方式读取文件:
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();
}
即使结果数组是它应该的大小,它的内容也被破坏了。如果我尝试toByteArray
直接在fis
or上使用isr
,结果的内容是空的。
如何正确有效地读取文件的其余部分?
谢谢!