Работа с архивами 7Z
Обзор
7-Zip-это архивер файла с высоким коэффициентом сжатия. Aspose.zip API позволяет работать с созданием и управлением 7-ZIP-архивами в ваших приложениях без необходимости каких-либо других сторонних приложений. Aspose.zip API предоставляет Sevenziparchive класс для работы с 7-zip-архивами. Этот класс предоставляет различные методы для выполнения операций в архивах. API предоставляет класс SevenziparchiveEntry представляет собой один файл в архиве 7Z.
Создайте 7-Zip Single intry
В следующем примере кода демонстрируется, как создать 7-zip-запись с использованием экземпляра Sevenziparchive.
1try (fileOutputStream SevenziPfile = new FileOutputStream ("archive.7z")) {
2 Попробуйте (Sevenziparchive Archive = new Sevenziparchive ()) {
3 archive.createEntry ("data.bin", "file.dat");
4 Archive.save (Sevenzipfile);
5 }
6} catch (ioException ex) {
7}
Создать 7-ZIP-записи
Класс Sevenziparchive предоставляет методы CreateEntries для рекурсивного добавления и каталогов в данном данном каталоге. В следующем примере кода демонстрируется, как создать 7-zip-архивные записи.
1Попробуйте (Sevenziparchive Archive = new Sevenziparchive ()) {
2 archive.createentries ("datadir");
3 Archive.save ("Sevenzip.7Z");
4}
Настройки шифрования 7-ZIP
Aspose.zip API предоставляет Sevenzipaesencryptionsettings класс, который предоставляет настройки для шифрования или дешифрования AES для архивов 7Z. Следующий пример кода демонстрирует, как предоставить настройки шифрования AES.
1Попробуйте (Sevenziparchive Archive = new Sevenziparchive (new SevenzipentrySettings (null, new Sevenzipaesencryptionsettings ("p@s $"))) {
2 archive.createEntry ("data.bin", new Bytearrayinputstream (new Byte [] {0x00, (byte) 0xff}));
3 Archive.save ("Archive.7Z");
4}
AES-256 является единственным возможным методом шифрования для архива 7Z.
7-Zip Архив с сжатием LZMA
Следующий пример кода демонстрирует, как создать архив 7Z с сжатием LZMA и шифрование AES.
1try (fileOutputStream SevenziPfile = new FileOutputStream ("archive.7z")) {
2 Попробуйте (Sevenziparchive Archive = new Sevenziparchive ()) {
3 Archive.createEntry ("inpit1.bin",
4 New BytearrayinputStream (New Byte [] {0x00, (byte) 0xff}),
5 New SevenzipentrySettings (new Sevenziplzmacompressionsettings (),
6 Новый Sevenzipaesencryptionsettings ("test1")),
7 новый файл ("data1.bin"));
8 Archive.save (Sevenzipfile);
9 }
10} catch (ioException ex) {
11}
Точно так же вы можете составить 7Z -архив с методом сжатия BZIP2, PPMD и LZMA2 или хранить файлы без сжатия.
Настройка различного пароля для записей
Следующий пример кода демонстрирует, как создать архив с записями, зашифрованными с различными паролями для каждой записи.
1try (fileOutputStream SevenziPfile = new FileOutputStream ("archive.7z")) {
2 File fi1 = новый файл ("data1.bin");
3 File fi2 = новый файл ("data2.bin");
4 Файл fi3 = новый файл ("data3.bin");
5
6 try (SevenZipArchive archive = new SevenZipArchive()) {
7 archive.createEntry("entry1.bin", fi1, false,
8 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
9 new SevenZipAESEncryptionSettings("test1")));
10 archive.createEntry("entry2.bin", fi2, false,
11 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
12 new SevenZipAESEncryptionSettings("test2")));
13 archive.createEntry("entry3.bin", fi3, false,
14 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
15 new SevenZipAESEncryptionSettings("test3")));
16 archive.save(sevenZipFile);
17 }
18} catch (ioException ex) {
19}
Извлечение 7z архивов
Теперь Aspose.zip может извлекать сжатые архивы LZMA, LZMA2, BZIP2 и PPMD.
Следующий пример кода демонстрирует, как извлечь 7z архив в каталог.
1Попробуйте (Sevenziparchive Archive = new Sevenziparchive ("archive.7z")) {
2 archive.extracttodirectory ("extractionFolder");
3}