将数据追加到文件并确保其不会损坏

时间:2019-02-03 11:15:32

标签: file file-io rust file-writing

我有一个现有文件,我想向其中添加数据,并确保它永远不会(或几乎永远不会)损坏,即使在写入附加数据期间出现故障。

一种确保文件不会被损坏的方法是将数据写入临时文件,然后将临时文件重命名/转换为原始文件。

但是用append这样做比较棘手。

我将整个文件内容存储在内存中(这不是一个很大的文件),因此我有两个选择:

  • 将原始文件复制到临时文件,将数据附加到临时文件,然后将临时文件mv /重命名为原始文件
  • 将文件的全部内容(包括我要添加的数据)写入临时文件,然后将临时文件mv /重命名为原始文件

两个选项的缺点是它们比仅将数据附加到原始文件要慢。有更好的方法吗?

如果没有,哪个选项更快?

我需要它才能在Windows,Linux和MacOS上运行。

我不确定我使用的编程语言是否相关,但是我正在使用Rust编写数据。

0 个答案:

没有答案