我需要读取包括eof
的二进制文件。如何读取二进制文件直到文件结束?
我阅读使用DataInputStream
DataInputStream instr = new DataInputStream(new BufferedInputStream(new FileInputStream(fileName)));
文件,我用readInt();
读二进制文件为整数。
try {
while (true){
System.out.println(instr.readInt());
sum += instr.readInt(); //sum is integer
}
} catch (EOFException eof) {
System.out.println("The sum is: " + sum);
instr.close();
}
但是,这个程序不读取文件的结尾或文本的最后一行(如果它是文本文件)。 因此,如果文本文件只包含一行文本,总和为0. 请帮助我。例如:.txt
包含文本的文件。
a
b
c
readInt();
仅仅只读取a
和b
。
也许我misundertood你,但没有“档案结尾”字被阅读。 –
请解释一下:_So如果文本文件只包含一行文本,总和为0._ –
我不确定你想实现什么,但我认为_DataInputStream_是错误的选择。你想逐行阅读一个数字列表吗? – home