有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有一个包含多个序列化对象的文件,希望将它们反序列化并存储在数组列表中。为此,我需要知道对象输入流何时耗尽对象/文件输入流何时达到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()返回一个空的arraylist。 我还放置了一个try final块来处理错误。它起作用了。但是,让一个异常发生不是一种糟糕的做法吗


共 (0) 个答案