我的程序中有一个方法从文件中读取,并且我已经与FileInputStream变量和ObjectInputStream变量相关联。但是,当我运行该程序时,我不知道有多少对象会被序列化,因此我不知道有多少对象使用readObject()方法进行反序列化。这是我的项目的方法:反序列化问题
public void importResults(File file) throws FileNotFoundException, IOException, ClassNotFoundException {
TestEntry entry = null;
try(FileInputStream fis = new FileInputStream(file)) {
ObjectInputStream ois = new ObjectInputStream(fis);
tests.clear();
entry = (TestEntry)ois.readObject();
tests.add(entry);
ois.close();
}
}
变量条目是在那里我将存储,我从文件反序列化的TestEntry对象。问题是,如果我试图反序列化太多的对象,我得到一个EOFException。如何让我的程序弄清楚文件中有多少对象被序列化,这样我可以反序列化正确的数量?任何帮助将不胜感激!谢谢。
你可以发布你得到的异常的堆栈跟踪吗? –
刚刚从readObject捕获EOFException – krzydyn