개체를 만들 수없는 이유는 무엇입니까? 하나를 만들려고 할 때마다 나는 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"의 내용을 확인하겠습니까? –
제대로 연재 되었습니까? 'repo' 클래스와 직렬화에 대한 코드를 게시하십시오. –
ObjectInputStream 생성자에서 EOFException을 나타내는 스택 추적을 기반으로 'student.txt'파일이 직렬화 된 직렬화 된 Java 객체라는 가정을해야합니다. 잘못된. 직렬화 부분에 대한 코드가 있습니까? – claymore1977