Я начинаю изучать Java I/O. У меня есть двоичный файл с целыми данными в нем, и я пытаюсь читать его с помощью FileInputStream
и показывая содержимое файла на консоли. Кажется, я не делаю правильный подход, продолжаю получать -1 Ведьма означает конец файла. Вот мой код.Чтение из двоичного файла с помощью FileInputStream
File f=new File("sunday.dat");
FileInputStream fis=new FileInputStream(f);
try {
while (true) {
number=fis.read();
System.out.println(number);
}
} catch (EOFException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
fis.close();
какую версию Java вы используете? – DasDas
@DasDas Irrelevant. Работа этого кода не зависит от версии. – EJP
'while (true) {...}' будет пытаться выполнить его блок кода бесконечно. Если у вас нет каких-либо условий остановки (или break/return/throw), тогда '-1' будет печататься все время после чтения содержимого файла. Вам нужно переосмыслить свой цикл. BTW, если вы хотите читать данные как текст, используйте 'Reader'. «Потоки» предназначены для двоичных данных. – Pshemo