我有一个带有一堆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());
}
}
}
就其当前目的(调试和测试)而言,它就像是一种魅力,但是如果它是程序的重点,会不会有任何问题?是否会引起头痛或采取更好的治疗方法?