文件关闭问题窗口

Pra*_*ant 3 c# windows-7

我们使用File.WriteAllBytes将数据写入磁盘.但是如果在我们关闭文件的时候发生重启,则windows会向文件添加null.这似乎发生在Windows 7上.所以一旦我们回到文件,我们在文件中看到空值.有没有办法防止这种情况发生.窗户是否会在一段时间后关闭它的内部手柄并且可以立即关闭它?

vcs*_*nes 5

取决于你想要的行为; 你可以把它放在UPS中,如0A0D建议的那样; 但此外,您可以使用Windows的Vista + Transactional NTFS功能.这允许您以原子方式写入文件系统.所以在你的情况下; 什么都不会写,而不是不正确的数据.它还不是.NET Framework的直接组成部分; 但是有大量的托管包装可以在网上找到.

有时没有数据比错误数据更好.当您的应用程序再次启动时; 它可以看到文件丢失; 它可以从它停止的地方"继续"; 取决于您的应用程序的功能.