У меня есть один файл, содержащий несколько сериализованных объектов, и я хочу десериализовать и сохранить их в списке массивов.Для этого мне нужно знать, когда на входном потоке объекта закончились объекты / Поток на входе файла достиг EOF.Есть ли способ сделать это?
public ArrayList<Object> retriveAllObjects(String file) throws IOException, ClassNotFoundException {
FileInputStream f = new FileInputStream(file);
ObjectInputStream obj = new ObjectInputStream(f);
ArrayList<Object> array=new ArrayList<>();
while(obj!= null){ /////////////java.io.EOFException
array.add(obj.readObject());
}
return array;
}
obj
мой поток ввода объекта.obj.available()
возвращает пустой массив.Я также поставил блок try final для обработки ошибки.Оно работает.Но не плохая ли практика позволять исключению случиться?