У меня есть бинарный файл с кучей Student
объектов внутри. Пытаясь выяснить, правильно ли я их написал, я прочитал исключение EOFException после прочтения последнего, поэтому в итоге я нашел это решение.
void readBinaryFile() {
List<Student> studentList = new ArrayList<Student>();
try (FileInputStream fis = new FileInputStream("binaryFile.dat");
ObjectInputStream is = new ObjectInputStream(fis);) {
while (fis.available()>0) {
Student student = (Student) is.readObject();
if (student != null) {
studentList.add(student);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
for (Student student : studentList) {
System.out.println("\nSTUDENT");
System.out.println(student.toString());
}
}
}
Для его текущей цели (отладка и тестирование) работает как чудо, но возникнет ли у него какая-либо проблема, если она была в центре внимания программы? Любая головная боль, которую это может вызвать, или какой-то лучший способ сделать это?