优雅中止FileStream写循环

本文关键字:循环 FileStream | 更新日期: 2023-09-27 18:07:15

我有一个使用FileStream将数据写入文件的循环。在行动中途,我想中止。如果我刷新并关闭它,我将在磁盘上留下一个部分文件。是否有办法关闭FileStream并将其从系统中删除?(同样的操作。我知道我可以直接清空然后自己删除)

优雅中止FileStream写循环

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

在您的情况下可能是多余的,但是您可以使用NTFS事务。如果需要中止,只需回滚事务,您修改的文件将返回到事务开始前的状态(如果在事务开始前不存在,则完全消失)。即使你没有显式回滚(例如,由于断电),这也会起作用。

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


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

您可以在流关闭/处置后(如您已经注意到的)删除finally块中的文件。