C# 中多个 FileStreams 的事务性写入
Transactional Write of multiple FileStreams in C#
我应该得到多个具有相同扩展名的文件(例如,一个档案被分成几个档案:rar、r00、r01 等)。
我正在尝试找到一种解决方案,如果我获得的其中一个文件流写入失败,则之前创建的所有成功文件都将被删除。
就像事务文件流编写器。
我遇到了 .NET Transactional File Manager 项目,这似乎正是我所需要的——除了它不适用于流,但适用于文件路径。
此时我只看到两个选项:
- 保留成功文件写入的列表,如果其他文件写入失败,我将查看列表并删除所有文件。
- 通过 FileStream 将所有文件写入 %TEMP% 或其他内容,然后 - 在成功写入所有文件后,我将使用事务文件管理器(如上所述)将文件移动到所需位置。
需要注意我必须使用流
您认为这两个选项中哪个更好?
这样做有什么更好的建议或想法吗?
谢谢
编辑:
我遇到的另一个选择是使用 AlphaFS just like in the following example。
对此有什么想法吗?
我最终使用了 AlphaFS。
就像在 this 示例中一样使用它。
它运行完美,完全符合我的需要。
感谢大家的评论。
我应该得到多个具有相同扩展名的文件(例如,一个档案被分成几个档案:rar、r00、r01 等)。
我正在尝试找到一种解决方案,如果我获得的其中一个文件流写入失败,则之前创建的所有成功文件都将被删除。 就像事务文件流编写器。
我遇到了 .NET Transactional File Manager 项目,这似乎正是我所需要的——除了它不适用于流,但适用于文件路径。
此时我只看到两个选项:
- 保留成功文件写入的列表,如果其他文件写入失败,我将查看列表并删除所有文件。
- 通过 FileStream 将所有文件写入 %TEMP% 或其他内容,然后 - 在成功写入所有文件后,我将使用事务文件管理器(如上所述)将文件移动到所需位置。
需要注意我必须使用流
您认为这两个选项中哪个更好? 这样做有什么更好的建议或想法吗?
谢谢
编辑:
我遇到的另一个选择是使用 AlphaFS just like in the following example。 对此有什么想法吗?
我最终使用了 AlphaFS。 就像在 this 示例中一样使用它。 它运行完美,完全符合我的需要。
感谢大家的评论。