0

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

4

1 回答 1

0

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

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

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


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

您可以在finally关闭/处理流之后删除块中的文件(如您已经指出的)。

于 2013-04-03T10:02:06.330 回答