Добавить данные в файл и убедиться, что они не повреждены - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть существующий файл, и я хотел бы добавить к нему данные и убедиться, что он никогда не (или почти никогда) не будет поврежден, даже если во время записи добавленных данных произойдет сбой.

Oneметод для гарантии того, что файлы не будут повреждены, он записывает данные во временный файл, а затем переименовывает / mv временный файл в исходный файл.

Но сделать это с добавлением более сложно.

У меня есть все содержимое файла в памяти (это не большой файл), поэтому я имею в виду два варианта:

  • Скопируйте исходный файл во временный файл, добавьте данные во временный файл и затем mv / переименуйте временный файл в исходный файл
  • Запишите все содержимое файла (включая данные Iхотите добавить) во временный файл, а затем mv / переименуйте временный файл в исходный файл

Недостатком обоих вариантов является то, что они медленнее, чем просто добавление данных в исходный файл.Есть ли лучшие способы сделать это?

Если нет, какой вариант быстрее?

Мне это нужно для работы в Windows, Linux и MacOS.

Я не уверен, что используемый язык программирования уместен, но я использую Rust для записи данных.

...