Робота з архівами 7Z

Огляд

7-ZIP-архіер файлу з високим коефіцієнтом стиснення. Aspose.zip API дозволяє працювати зі створенням та управлінням архівами 7-ZIP у ваших заявах без необхідності будь-яких інших заяв. Aspose.zip API надає семиципархівський клас для роботи з архівами 7-ZIP. Цей клас надає різні методи виконання операцій на архівах. API надає клас семиципархівентрі для представлення одного файлу в архіві 7Z.

Створіть 7-ZIP-один запис

Наступний приклад коду демонструє, як створити 7-ZIP-запис за допомогою семизапірного екземпляра.

1спробуйте (fileOutputStream sevenzipfile = новий fileOutputStream ("Archive.7z")) {
2    Спробуйте (Sevenziparchive Archive = new Sevenziparchive ()) {
3        Archive.createEntry ("data.bin", "file.dat");
4        Archive.Save (Sevenzipfile);
5    }
6} улов (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 надає семизацесенкрингеттінгс клас, який забезпечує налаштування для шифрування або дешифрування AES для архівів 7Z. Наступний приклад коду демонструє, як надати параметри шифрування AES.

1Спробуйте (Sevenziparchive Archive = новий семизіпархів (нові семиципентрієтінгс (null, new SevenzipaesencryptionSettings ("p@s $")))) {
2    Archive.createEntry ("data.bin", новий ByTeArrayInputStream (новий байт [] {0x00, (байт) 0xff});
3    Archive.save ("Archive.7Z");
4}

AES-256-єдиний можливий метод шифрування для архіву 7Z.

7-ZIP-архів із стисненням LZMA

Наступний приклад коду демонструє, як створити архів 7Z з стисненням LZMA та шифруванням AES.

 1спробуйте (fileOutputStream sevenzipfile = новий fileOutputStream ("Archive.7z")) {
 2    Спробуйте (Sevenziparchive Archive = new Sevenziparchive ()) {
 3        Archive.createEntry ("entry1.bin",
 4                Новий bytearrayinputstream (новий байт [] {0x00, (байт) 0xff}),
 5                Нові SewzipentrySettings (нові семизапльзмакомпресійки (),
 6                        Нові SevezipaesencryptionSettings ("test1"),
 7                новий файл ("data1.bin"));
 8        Archive.Save (Sevenzipfile);
 9    }
10} улов (IOException ex) {
11}

Аналогічно ви можете скласти архів 7Z з методом стиснення BZIP2, PPMD ​​та LZMA2 або зберігати файли без стиснення.

Налаштування різного пароля для записів

Наступний приклад коду демонструє, як створити архів із записами, зашифрованими різними паролями для кожного запису.

 1спробуйте (fileOutputStream sevenzipfile = новий fileOutputStream ("Archive.7z")) {
 2    Файл fi1 = новий файл ("data1.bin");
 3    Файл 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} улов (IOException ex) {
19}

Вилучення архівів 7Z

Тепер Aspose.zip може витягнути стиснуті архіви LZMA, LZMA2, BZIP2 та PPMD.

Наступний приклад коду демонструє, як витягнути архів 7Z до каталогу.

1Спробуйте (Sevenziparchive Archive = новий семизіпархів ("Archive.7z")) {
2    Archive.extracttodirectory ("Extractionfolder");
3}

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.