Обзор

Архивы, состоящие из записей, имеют метод 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

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: