Обзор
Архивы, состоящие из записей, имеют метод createEntries для сжатия всей папки. Такие методы учитывают структуру каталогов и периодически компонуют все подпапки. Также вы можете добавить одну запись файла в произвольную подпапку в любом месте архива.Как добавить файл в существующий ZIP-архив
Бывают ситуации, когда необходимо расширить существующий архив дополнительными файлами. Типичный подход включает в себя извлечение архива, добавление новых файлов к извлеченному содержимому, а затем повторное сжатие всего. Однако это не оптимальное решение, поскольку оно тратит вычислительные ресурсы на уже сжатые файлы.
Aspose.ZIP предлагает более эффективный способ достижения этой цели, позволяя добавлять записи непосредственно в ZIP-архив без необходимости полного извлечения и переупаковки. Эта функция применима как к форматам архивов ZIP, так и к TAR, что делает ее универсальным решением для работы со сжатыми файлами с использованием Java.
try (Archive archive = new Archive("existing.zip"))
{
archive.createEntry("one_more.bin", "data.bin");
archive.save("added.zip");
}
Этот фрагмент кода добавляет новую запись с именем "one_more.bin" в существующий архив ZIP с именем "existing.zip". Данные для новой записи берутся из источника или файла, указанного в "data.bin". Весь процесс заключен в блок try-with-resources для правильного управления ресурсами. Вот описание того, что он делает:
- Открытие существующего архива: Он устанавливает блок try-with-resources, который обеспечивает правильное управление ресурсами (автоматическое закрытие объекта архива после завершения блока). Внутри блока он создает объект Archive, используя конструктор new Archive("existing.zip").
- Создание новой записи: В коде используется метод createEntry объекта архива. Этот метод принимает два аргумента:
— "one_more.bin". Он определяет имя, которое будет присвоено новой записи в архиве.
- "data.bin" Это файл с путем или источником данных, которые будут добавлены во вновь созданную запись. - Сохранение измененного архива: Наконец, код вызывает метод сохранения объекта архива. Этот метод сохраняет измененный архив в новый файл с именем "added.zip".
TAR Добавить файл в существующий архив
Расширение архивов часто включает в себя извлечение, добавление новых файлов и повторное сжатие, что является ресурсоемким процессом. Aspose.ZIP предлагает более разумное решение на Java. Просто откройте архив для распаковки и добавляйте новые записи напрямую, избегая ненужной перепаковки. Этот эффективный подход работает для формата архива TAR.
try (TarArchive archive = new TarArchive("existing.tar")) {
archive.createEntry("one_more.bin", "data.bin");
archive.save("added.tar");
}
Это приложение имеет те же функции, что и предыдущее, но предназначено для архивов с расширением TAR .
Другие поддерживаемые функции Aspose.ZIP для Java API
С помощью библиотеки Aspose.ZIP на Java вы можете легко решать различные задачи, связанные с документами в формате ZIP. Если вам нужно конвертировать форматы, объединять файлы, редактировать содержимое или извлекать данные, Aspose.ZIP предоставляет комплексные функциональные возможности для оптимизации вашего рабочего процесса и повышения производительности.
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories