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