У меня есть упражнение о записи и чтении файла со списком студентов. Проблема в том, что когда мой файл пуст, метод чтения файла сообщает об этом конце файла, но когда я записываю одного студента в файл, он все равно говорит, что конец файла, даже если мой файл не пустой, содержит информацию об ученикахи я использовал метод вывода, чтобы получить информацию о студентах. Это всегда говорит мне «конец файла» без вывода данных, и я не знаю причину. Я очень ценю с вашей помощью!
public void readFile(ListStudent a) throws FileNotFoundException, IOException, ClassNotFoundException{
ArrayList<Student> objectsList = new ArrayList<Student>();
try( ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:\\Files\\Students.txt"))){
boolean cont = true;
while(cont){
Student x = (Student) in.readObject();
if(x != null)
objectsList.add(x);
else cont = false;
}
a.setArr(objectsList);
for(Student x : a.getArr())
x.output();
in.close();
}
catch(EOFException eof){
System.out.println("End of file");
}
И способ вывода:
public void output(){
System.out.format("%-30s%-30s%s\n", this.getName(), this.getBirthday().output(), this.getAvg_score());
}