在方法中初始化ObjectInputStream和Out是否有所不同

时间:2019-05-15 18:41:15

标签: java java-io objectinputstream objectoutputstream

我是新来的,对于写作或任何问题感到抱歉 我想从具有.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方法将其关闭

0 个答案:

没有答案