Обзор

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

Как сделать ZIP-архив

Метод createEntry используется для добавления каждого файла в сжатый архив. В этих примерах мы не указываем никаких настроек сжатия, поэтому для выбранного формата будут применены настройки по умолчанию.

    try (Archive archive = new Archive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.zip");
    }

Этот код создает ZIP архив с именем «archive.zip», содержащий два файла: «data1.bin» и «data2.bin». Вот описание того, как это работает:

  • Автоматическое управление ресурсами: В коде используется блок try-with-resources для обеспечения правильного управления ресурсами. Этот блок автоматически закрывает объект архива по завершении.
  • Добавление файлов в архив: Внутри блока код дважды использует метод createEntry для добавления файлов в архив:
    – Первая запись называется «first.bin». и содержит содержимое файла «data1.bin».
    — Вторая запись называется « Second.bin» и содержит содержимое файла «data2.bin».
  • Сохранение архива: Наконец, вызывается метод сохранения. объект архива для сохранения вновь созданного ZIP-архива с указанными записями в "archive.zip".

Как добавить файлы в архив 7zip

Чтобы добавить несколько вложений в один архив 7zip, мы используем класс SevenZipArchive вместе с методами createEntry и save аналогичным образом.

    try (SevenZipArchive archive = new SevenZipArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 	
        archive.save("archive.7z");
    }

Следующий код выполняет те же действия, что и предыдущий, но для формата 7-ZIP .

TAR сделать архив

Расширение архивов часто включает в себя извлечение, добавление новых файлов и повторное сжатие, что является ресурсоемким процессом. Aspose.ZIP предлагает более разумное решение на Java. Просто откройте архив для распаковки и добавляйте новые записи напрямую, избегая ненужной перепаковки. Этот эффективный подход работает для формата архива TAR.

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.tar");
    }

Это приложение имеет те же функции, что и предыдущее, но предназначено для архивов с расширением TAR .

Как создать файл GZ

Форматы только для сжатия без записей. Эти форматы сжатия, включая GZIP, LZ, BZIP2, XZ и Z, не поддерживают записи файлов. Они могут сжимать только один исходный файл одновременно.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (GzipArchive archive = new GzipArchive()) {
            archive.setSource(source);
            archive.save("archive.gz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Создать TAR GZ

Aspose.ZIP предлагает удобный способ объединения форматов только для архивирования и только для сжатия с помощью одного метода. Вот пример этой функциональности с комбинацией TAR.GZ. Этот метод использует метод saveGzipped .

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        archive.saveGzipped("archive.tar.gz");
    }

Создать TARLZ

Сначала мы создаем объект FileInputStream, подключенный к архивируемому файлу. Далее мы создаем объект LzipArchive, устанавливаем в качестве источника ранее созданный объект FileInputStream и сохраняем архив.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (LzipArchive archive = new LzipArchive()) {
            archive.setSource(source);
            archive.save("archive.lz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Создать файл TAR BZ2

Aspose.ZIP предлагает аналогичные методы сжатия архивов в форматах LZIP, XZ, ZStandard и Z. Однако для BZIP2 требуется другой подход.

    try (TarArchive tar = new TarArchive()) {
        tar.createEntry("first.bin", "data1.bin");
        tar.createEntry("second.bin", "data2.bin");
        try (Bzip2Archive archive = new Bzip2Archive()) {
            archive.setSource(tar);
            archive.save("archive.tar.bz2");
        }
    }

Эта конструкция кода сочетает в себе использование двух разных форматов архивов, а именно TAR и Bzip2. Основная особенность заключается в том, что TAR-архив сначала создается с помощью класса TarArchive путем добавления в него нескольких файлов с помощью метода createEntry, а затем этот архив сжимается в формат Bzip2 с помощью класса Bzip2Archive .

Другие поддерживаемые функции 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: