Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FileInputStream/ObjectInputStream:StreamCorruptedException:格式错误_Java_Android_Serialization - Fatal编程技术网

Java FileInputStream/ObjectInputStream:StreamCorruptedException:格式错误

Java FileInputStream/ObjectInputStream:StreamCorruptedException:格式错误,java,android,serialization,Java,Android,Serialization,从文件读取序列化对象时,我得到: java.io.StreamCorruptedException:格式错误:0 实现Serializable的对象按如下方式保存和还原: 保存: 恢复: try { FileInputStream fileInputStream = getContext().openFileInput("gameState.ser"); ObjectInputStream objectInputStream = new ObjectInp

从文件读取序列化对象时,我得到:

java.io.StreamCorruptedException:格式错误:0

实现Serializable的对象按如下方式保存和还原:

保存:

恢复:

try {
        FileInputStream fileInputStream = getContext().openFileInput("gameState.ser");
            ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
        gameAssets = (GameAssets) objectInputStream.readObject();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

由于您尚未发布相关代码,我不确定是这种情况,还是错误的来源


但在写入流之后,您应该始终关闭它们。

确保gameAssets上的所有字段都是可序列化的。如果其中一个不是异常,则可以将其打印到您创建的文件中,这可能导致读取该文件时出现异常

try {
        FileInputStream fileInputStream = getContext().openFileInput("gameState.ser");
            ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
        gameAssets = (GameAssets) objectInputStream.readObject();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }