我的程序中有一個方法從文件中讀取,並且我已經與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