добавьте файлы в архив, не читая/переписывая целый архив

У меня есть много файлов, которые я хочу хранить в единственном архивном файле. Мой первый подход должен был хранить файлы в gzipped tarball. Проблема, что я должен переписать целый архив, если единственный файл добавляется. Я мог избавиться от gzip сжатия, но добавление файла все еще будет дорогим.

Что другой формат архива Вы предположили бы, что это позволяет, быстро добавляют операции?

5
задан Benedikt Waldvogel 7 June 2010 в 23:22
поделиться

2 ответа

Формат файла ZIP был разработан для добавления без полной перезаписи и широко распространен даже в Unix.

2
ответ дан 15 December 2019 в 00:51
поделиться

Форматы ZIP и TAR (и старый формат AR) позволяют добавлять файлы без полной перезаписи. Однако:

  • Классы архивов Java НЕ поддерживают этот режим работы.
  • Добавление файла может привести к созданию нескольких копий файла в архиве, если вы добавите существующий файл.
  • В форматах ZIP и AR есть каталог, который необходимо переписать после операции добавления файла. Стандартные утилиты принимают меры предосторожности при перезаписи каталога, но теоретически возможно, что вы можете получить архив с отсутствующим или поврежденным каталогом в случае сбоя добавления.
2
ответ дан 15 December 2019 в 00:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: