Обзор
Иногда нам нужно объединить файлы для лучшей обработки, не обязательно сжимая их. При работе с уже сжатыми форматами, такими как 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
- 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