Android ObjectInputStream readObject抛出IllegalAccessException

时间:2015-06-04 16:02:32

标签: java android exception serialization objectinputstream

我正在尝试将onPause方法中的序列化对象写入文件,这样当我再次启动应用程序并需要之前的数据时,我可以从文件中再次读取它。

这是我保存对象的地方

try {
    FileOutputStream fout = openFileOutput(logFileName, MODE_PRIVATE);
    ObjectOutputStream fw = new ObjectOutputStream(fout);
    fw.writeObject(obj);
    Log.d("obj", "added");
    fw.close();
} catch (Exception e) {
    Log.d("obj", "not added");
    e.printStackTrace();
}
return;

我可以看到“已添加”消息,这意味着对象已保存在文件中。

这是我尝试阅读保存对象的地方:

try {
    FileInputStream fin = openFileInput(logFileName);
    ObjectInputStream fread = new ObjectInputStream(fin);
    Object res = fread.readObject();
    Log.d("obj", "readed successfully");
} catch (Exception e) {
    e.printStackTrace();
}

我明白了:

java.io.InvalidClassException: android.view.View; IllegalAccessException

在调用“fread.readObject()”的行上。我会感谢你,如果你能告诉我为什么它会抛出以下异常。 在此先感谢。

0 个答案:

没有答案