EOF异常和ObjectInputStream.readObject()错误

时间:2016-11-16 08:49:38

标签: java eclipse file

这是我代码的一小部分。我想读取文件是否存在。如果没有,那么创建一个新的。当我重新启动程序时,我想使用保存的文件。 Eclipse说错误发生在“ObjectInputStream inStream = new ObjectInputStream(file);”不知道为什么。

rooms sbu = new rooms();
    File saveFile = new File("SavedObj.obj");
    if(saveFile.exists() == false)
    {
        System.out.println("No save file found. Creating a new file.");
        try{
            saveFile.createNewFile();
        }catch(Exception ex)
        {
            System.out.println(ex.getMessage());
        }
    }
    else {
        FileInputStream file = new FileInputStream(saveFile);
        ObjectInputStream inStream = new ObjectInputStream(file);
        sbu= (room) inStream.readObject();
    }

在我的代码结尾处,我存储了这样的对象:

FileOutputStream fileOut = new FileOutputStream(saveFile);
ObjectOutputStream outStream = new ObjectOutputStream(fileOut);
outStream.writeObject(sbu);
outStream.close();
isFinished= true;

感谢任何帮助,非常感谢!

1 个答案:

答案 0 :(得分:0)

您不能指望class DaemonRunner(object): self.parse_args() self.app = app self.daemon_context = DaemonContext() self.daemon_context.stdin = open(app.stdin_path, 'r') self.daemon_context.stdout = open(app.stdout_path, 'w+') self.daemon_context.stderr = open(app.stderr_path, 'w+') 自动将文本转换为对象。 ObjectInputStream只适用于readObjectwriteObject创建的文件。

ObjectOutputStream