优雅地中止FileStream写循环

时间:2013-04-03 09:13:13

标签: c# filestream

我有一个使用FileStream将数据写入文件的循环。 在操作过程中我想中止。 如果我刷新并关闭它,我将在磁盘上有一个部分文件。有没有办法关闭FileStream并将其从系统中删除? (在相同的操作中。我知道我可以冲洗关闭而不是自己删除)

1 个答案:

答案 0 :(得分:0)

如果您需要处理修改文件......

在你的情况下可能有点矫枉过正,但你可以使用NTFS transactions。如果您需要中止,只需回滚事务,您修改的文件将返回到事务开始之前的状态(如果在事务开始之前它不存在,则完全消失)。即使您没有明确回滚(例如由于断电),这也会有效。

或者您可以通过写入另一个文件来模拟事务,然后通过用新文件替换旧文件来“提交”。


否则(如果您只处理创建新文件,而不是修改现有文件)......

您可以在关闭/处理信息流之后删除finally块中的文件(正如您已经注意到的那样)。