爲什麼我無法創建ObjectInputStream
對象?每次我嘗試創建一個我得到EOFException
,我不明白爲什麼。有人能幫我嗎? 下面是我遇到問題的代碼以及從執行中獲得的堆棧跟蹤。該文件是空的。無法創建ObjectInputStream
public void loadFromFileStudent() throws IOException, ClassNotFoundException {
try{
InputStream inputStream = new FileInputStream("student.txt");
System.out.println(inputStream.toString());
ObjectInputStream objectInputStream;
objectInputStream = new ObjectInputStream(inputStream);
System.out.println(objectInputStream.toString());
this.repo=(Dictionary<Integer, Student>) objectInputStream.readObject();
objectInputStream.close();
inputStream.close();
}catch (EOFException e){
e.printStackTrace();;
//System.out.println(e.getMessage());
}
}
。
[email protected]
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2324)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2793)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:799)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at repository.Repository.loadFromFileStudent(Repository.java:94)
at repository.Repository.<init>(Repository.java:112)
at utils.DataStructure.createRepository(DataStructure.java:16)
at controller.Controller.<init>(Controller.java:9)
at utils.DataStructure.createController(DataStructure.java:20)
at application.RunMenu.<init>(RunMenu.java:15)
at application.App.main(App.java:5)
我會檢查「student.txt」的內容,是否爲空? – 2013-12-09 18:06:22
您是否已正確序列化?發佈代碼以用於'repo'類和序列化 –
根據顯示EOFException來自ObjectInputStream構造函數的堆棧跟蹤,我必須假定文件'student.txt'是序列化的序列化Java對象錯誤。 你有序列化部分的代碼嗎? – claymore1977