Обзор

Иногда нам нужно объединить файлы для лучшей обработки, не обязательно сжимая их. При работе с уже сжатыми форматами, такими как JPEG или DOCX, дальнейшее сжатие обеспечивает минимальную экономию места. Архивирование несжатых файлов также полезно, когда необходим быстрый доступ к отдельным файлам, поскольку сжатые архивы сначала требуют распаковки. В сценариях с ограниченными вычислительными ресурсами выбор несжатых архивов может снизить накладные расходы на обработку, обеспечивая более быстрые процессы архивирования и извлечения без нагрузки на алгоритмы сжатия.
Aspose.ZIP поддерживает несколько форматов архивов для хранения ваших данных. Вот как создавать такие архивы.

Как хранить файлы в несжатых ZIP-архивах с помощью Java

В сценариях, где размер файла не имеет большого значения, Java позволяет эффективно хранить файлы в ZIP-архивах без применения сжатия. Это особенно полезно в ситуациях, когда сохранение исходной файловой структуры и обеспечение быстрого доступа к отдельным файлам имеют решающее значение. Для хранения файлов в ZIP-архиве используйте StoreCompressionSetting при инициализации Archive .
Вот как получить несжатое хранилище в Java:

    try (FileOutputStream zipFile = new FileOutputStream("archive.zip")) {
        File fi1 = new File("alice29.txt");
        File fi2 = new File("asyoulik.txt");
        try (Archive archive = new Archive(new ArchiveEntrySettings(new StoreCompressionSettings()))) {
            archive.createEntry("alice29.txt", fi1);
            archive.createEntry("lcet10.txt", fi2);
            archive.save(zipFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Как добавить файлы в архивы 7Z без сжатия

Аналогично, если вы хотите сохранить файлы в архиве 7z, используйте SevenZipStoreCompressionSetting при инициализации SevenZipArchive . Это гарантирует, что файлы будут включены в архив как есть, без каких-либо алгоритмов сжатия. Этот подход особенно полезен для разработчиков Java, которые отдают предпочтение быстрому доступу к отдельным файлам, поскольку он устраняет необходимость распаковки перед использованием файлов.
Примечание: Этот пример кода работает с Aspose.ZIP для Java версии 24.4 и выше.

    try (FileOutputStream szFile = new FileOutputStream("archive.7z")) {
        File fi1 = new File("alice29.txt");
        File fi2 = new File("asyoulik.txt");
        try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipStoreCompressionSettings()))) {
            archive.createEntry("alice29.txt", fi1);
            archive.createEntry("lcet10.txt", fi2);
            archive.save(szFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Эффективно храните несжатые файлы в архивах TAR

Форматы ZIP и 7z, известные своим сжатием, хотя и с возможностью хранения без сжатия. И наоборот, существуют форматы, специально разработанные для первоначального хранения. CPIO и Tar, игравшие ключевую роль в ранней истории операционных систем на базе Unix, появились в 1970-х годах как фундаментальные инструменты для архивирования и управления файлами.
В отличие от сжатых форматов архивов, таких как ZIP, основная цель tar — объединить несколько файлов и каталогов в один архивный файл без сжатия. Используйте экземпляр TarArchive без каких-либо настроек для композиции
Пример:

    try (FileOutputStream tarFile = new FileOutputStream("joint.tar")) {
        File fi1 = new File("text.txt");
        File fi2 = new File("picture.png");
        try (TarArchive archive = new TarArchive()) {
            archive.createEntry("text.txt", fi1);
            archive.createEntry("picture.png", fi2);
            archive.save(tarFile);
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

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