我有一个简单的xml文件,我每3秒更新一次(通过每次完全替换内容)
当计算机因任何原因重新启动时(或者我长按电源按钮将其关闭)我遇到问题 - xml文件最终填充零字符。与正确数据相同的长度,但改为0。
我首先尝试保存到tmp文件,验证数据并在数据看似有效时替换原始xml文件。没有帮助。看起来所有验证工作正常(SAXBuilder不会抛出异常,我可以找到正确的子注释等),但文件最终仍然被破坏。
我使用XMLOutputter和FileWriter将数据保存到临时文件中。 然后用一对renameTo()的
替换原始如果我只是退出应用程序或从任务管理器中终止进程,那么一切正常。只是重启/关闭会破坏事情。
对于为什么会发生这种情况的任何提示都将不胜感激。