我有一个使用FileStream将数据写入文件的循环。 在操作过程中我想中止。 如果我刷新并关闭它,我将在磁盘上有一个部分文件。有没有办法关闭FileStream并将其从系统中删除? (在相同的操作中。我知道我可以冲洗关闭而不是自己删除)
答案 0 :(得分:0)
如果您需要处理修改文件......
在你的情况下可能有点矫枉过正,但你可以使用NTFS transactions。如果您需要中止,只需回滚事务,您修改的文件将返回到事务开始之前的状态(如果在事务开始之前它不存在,则完全消失)。即使您没有明确回滚(例如由于断电),这也会有效。
或者您可以通过写入另一个文件来模拟事务,然后通过用新文件替换旧文件来“提交”。
否则(如果您只处理创建新文件,而不是修改现有文件)......
您可以在关闭/处理信息流之后删除finally
块中的文件(正如您已经注意到的那样)。