我是新来的,对于写作或任何问题感到抱歉 我想从具有.ser的文件中读取对象,该对象是Hashmap,当我从其他方法初始化并调用它时,它返回null,但是当我在同一方法中对其进行初始化时,它返回hashmap,并且在objectoutputstream中也存在此问题ObjectInput返回null和EFOException从其他方法初始化并调用它们之间有什么区别吗?
更改文件并更改fileIn / out putstream
这永远无法正确运行
private void openTheOutPutObjectStreamer()throws IOException{
out =new ObjectOutputStream(new FileOutputStream(userData));
}
private void openTheInPutObjectStreamer()throws IOException{
in =new ObjectInputStream(new FileInputStream(userData));
}
private void initializeHashMap(){
openTheInPutObjectStreamer();
temp = (HashMap<Integer, PlayerInfo>) in.readObject();
}
private void createInfo()throws IOException{
openTheOutPutObjectStreamer();
out.writeObject(temp);
}
这可以正常运行
private void createInfo()throws IOException{
out =new ObjectOutputStream(new FileOutputStream(userData));
out.writeObject(temp);
}
private void initializeHashMap(){
in =new ObjectInputStream(new FileInputStream(userData));
temp = (HashMap<Integer, PlayerInfo>) in.readObject();
}
唯一的区别是,我使用不同的方法初始化I / O,然后调用它,但在coreect中,我对其进行了初始化,并使用相同的out / in方法将其关闭