【发布时间】:2011-10-03 19:51:49
【问题描述】:
我们正在使用 File.WriteAllBytes 将数据写入磁盘。但是,如果在我们关闭文件的时候重新启动,windows 会将 null 添加到文件中。这似乎发生在 Windows 7 上。因此,一旦我们回到文件,我们就会在文件中看到空值。有没有办法防止这种情况。窗口是否会在一定时间后关闭其内部句柄,是否可以立即强制关闭?
【问题讨论】:
-
你的意思是空字节比如0x00?
-
可以说是温和的重启吗,就像正常的“关机”或“重启”一样?还是突然断电?在后一种情况下,可能没有解决方案。
-
@Detmar - 不幸的是突然断电。如果是这样,我的选择是什么?。
-
Prashant:使用事务性 NTFS 确保所有数据都已写入或根本不写入。当然,前提是您可以忍受在发生故障时不写入任何数据。
-
我从未尝试过,但您也可以使用完全无缓冲的流。 stackoverflow.com/questions/122362/…