Проверьте, не осталось ли в файле сериализованных объектов - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть один файл, содержащий несколько сериализованных объектов, и я хочу десериализовать и сохранить их в списке массивов.Для этого мне нужно знать, когда на входном потоке объекта закончились объекты / Поток на входе файла достиг 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 для обработки ошибки.Оно работает.Но не плохая ли практика позволять исключению случиться?

...