Я написал zip-класс, который использует функции и код из miniz для: открытия архива, закрытия архива, открытия файла в архиве, закрытия файла в архиве и записи в текущий открытый файл в архиве.
В настоящее время открытие файла в архиве перезаписывает его, если он уже существует. Я хотел бы знать, можно ли ПРИЛОЖИТЬ к файлу в zip-архиве, который уже был закрыт?
Я хочу сказать, что это возможно, но мне пришлось бы редактировать все смещения во всех внутренних состояниях другого файла и в центральном каталоге. Если это возможно — это правильный путь для поиска?
Замечания:
Я имею дело с большими файлами, поэтому распаковка и сжатие снова не идеальны, и при этом не происходит никакого копирования файлов. Я просто хотел бы «открыть» файл в zip-архиве, чтобы продолжить запись сжатых данных в него.
Я просто хотел бы «открыть» файл в zip-архиве, чтобы продолжить запись сжатых данных в него.
Сжатые файлы не работают как файловая система или папка, где вы можете изменить отдельные файлы. Они держат, например, Проверьте суммы, которые нужно подать на весь архив.
Так что нет, вы не можете сделать такое на месте, но нужно распаковать сжатый файл, применить ваши изменения и снова сжать все.
Других решений пока нет …