如何检查文件是否已完全写入磁盘?

时间:2019-01-30 18:26:41

标签: c# .net windows ntfs

我正在尝试实现一种安全的文件替换方法,该方法应能够抵抗瞬间崩溃(例如电源故障)。我知道NTFS确保文件重命名是原子的,因此我只是将内容写入临时文件,然后将其重命名为“ commit”。

我唯一缺少的组件是:如何确保文件内容已完全写入磁盘?我不写文件(我只得到文件名),所以不能使用FileStream.Flush(true)

据我所知,NTFS不能保护内容,Windows可以根据需要将其写入的时间推迟。如果重命名发生在内容完成之前,则可能会发生不好的事情。

0 个答案:

没有答案