如果StreamWriter或XmlWriter突然终止,文件会发生什么?

时间:2014-04-17 06:12:37

标签: xml transactions stream large-files

我的问题涉及XmlWriter将元素附加到大型xml文件。我通过从任务管理器中删除进程来测试它,结果是预期的 - 最后一行只是部分写入,元素中的文本刚刚结束,没有结束标记。在外部事件(系统崩溃,关闭)的情况下,如何确保最后一个元素或最后几个元素是否完全写入,事务样式。

1 个答案:

答案 0 :(得分:0)

将文件写入System临时文件夹或任何临时位置。完成文件写入后,使用system命令将其复制到目标位置。

结果:

i)如果系统在临时位置写入文件时中断,则文件仅存在于临时文件夹中,可以在应用程序重新启动后删除。

ii)如果系统在系统复制期间崩溃,系统会处理以恢复或删除未完全复制的文件。

因此用户不会在目标文件夹中找到不完整的文件。