我在想也许我应该将它限制在 8k。我想打开一个文件,每次都从头到尾写。但是,如果由于某种原因(比如停电)它没有完成,我不想损坏数据。有没有一种方法可以打开/写入/关闭事务文件,这样它就不会替换以前的文件,除非它成功了?
当我用谷歌搜索时,我得到了很多关于数据库事务和 ado 而不是文件的结果
最佳答案
- 写入一个临时文件,
- 删除旧文件
- 仅在写入成功时重命名临时文件。
如果您在第二步之后但在第三步之前断电,为防止数据丢失,您还需要一个步骤:
- 在程序启动时,检查主要文件已删除但尚未重命名的临时文件。如果找到任何文件,请对这些文件再次执行第三步。
关于.net - .NET 中的事务性打开/写入/替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536001/