Java - 如果强制重启PC,则写入损坏的文件

时间:2017-03-17 21:25:13

标签: java file io

我有一个简单的xml文件,我每3秒更新一次(通过每次完全替换内容)

当计算机因任何原因重新启动时(或者我长按电源按钮将其关闭)我遇到问题 - xml文件最终填充零字符。与正确数据相同的长度,但改为0。

我首先尝试保存到tmp文件,验证数据并在数据看似有效时替换原始xml文件。没有帮助。看起来所有验证工作正常(SAXBuilder不会抛出异常,我可以找到正确的子注释等),但文件最终仍然被破坏。

我使用XMLOutputter和FileWriter将数据保存到临时文件中。 然后用一对renameTo()的

替换原始

如果我只是退出应用程序或从任务管理器中终止进程,那么一切正常。只是重启/关闭会破坏事情。

对于为什么会发生这种情况的任何提示都将不胜感激。

0 个答案:

没有答案