如果系统在android中崩溃,文件将变为零字节

时间:2012-07-19 06:24:22

标签: java android

我正在向一个单独的线程中的文件写一个对象,这个线程每隔一分钟执行一次。一切都运行正常,但如果系统崩溃(删除电源),那么文件(我写的对象)大小在下次重启时变为零字节。

我的代码是:

FileOutputStream fileOut = new FileOutputStream("/sdcard/vis.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(/*An object*/);    
out.close();

2 个答案:

答案 0 :(得分:0)

所以你担心先前的数据被破坏而新的数据还没有保存? shell尝试在tmp文件中写入,如果你设法关闭它,只需重命名?

答案 1 :(得分:0)

我们的想法是使用校验和来确保文件已正确写入并使用重命名为Whity建议。

但是,如果要保存基本类型,则可以使用SharedPreferences,这将避免出现“0字节”问题。

This question会让您对如何预防它有更广泛的了解。