我正在尝试将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()”的行上。我会感谢你,如果你能告诉我为什么它会抛出以下异常。 在此先感谢。