检查文件中是否还有序列化的对象

时间:2018-09-21 06:24:56

标签: java serialization objectinputstream

我有一个包含多个序列化对象的文件,想反序列化并将它们存储在数组列表中。为此,我需要知道对象输入流何时耗尽对象/文件输入流已达到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 try块来处理错误。有用。但是让n异常发生不是一个坏习惯吗?

0 个答案:

没有答案