Створення архіву 7Zip у C#

У попередньому пості ми досліджували різні методи створення ZIP архівів за допомогою C#. У цій статті ми розширимо цю основу, зосередившись на форматі 7z. Формат 7z заснований на архітектурі з відкритим кодом і пропонує високий коефіцієнт стиснення, а також можливість використовувати 256-бітне AES шифрування для захисту як файлів, так і їхніх назв.

Що ви дізнаєтеся

У цьому посібнику ви дізнаєтеся, як програмно створювати архіви 7z (7-Zip) за допомогою C#. Ми розглянемо:

Всі приклади та фрагменти коду базуються на API Aspose.ZIP для .NET. Переконайтеся, що у вас встановлено API, використовуючи один із наведених нижче методів:

Створення архіву 7z (7-Zip) за допомогою C#

Ви можете стиснути файли в архів 7z у двох основних сценаріях: при роботі з одиничним файлом або декількома файлами. Ось як впоратися з обома ситуаціями.

Створення архіву 7z з одним записом

Щоб створити архів 7z з одним файлом, виконайте такі кроки:

  1. Відкрийте новий FileStream для створення файлу 7z.
  2. Створіть екземпляр класу SevenZipArchive.
  3. Додайте файл до архіву, використовуючи метод SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Збережіть архів, використовуючи метод SevenZipArchive.Save(Stream).

Ось приклад архіву C# 7z, що демонструє вищезазначені кроки:

Створення архіву 7z з кількома записами

Якщо вам потрібно стиснути кілька файлів, ви можете помістити їх у папку та передати шлях до папки методу SevenZipArchive.CreateEntries(). Виконайте такі кроки:

  1. Створіть екземпляр класу SevenZipArchive.
  2. Передайте шлях до папки методу SevenZipArchive.CreateEntries(String, Boolean).
  3. Викличте метод SevenZipArchive.Save(String).

Ось як створити архів 7z з кількома записами за допомогою C#:

Створення AES зашифрованого архіву 7z за допомогою C#

Формат 7z підтримує AES шифрування для підвищення безпеки. Щоб зашифрувати файл 7z, використовуйте клас SevenZipAESEncryptionSettings. Нижче наведено зразок коду, який демонструє, як створити AES зашифрований архів 7z за допомогою C#:

Встановлення різних паролів для записів 7z за допомогою C#

Формат 7z також дозволяє вам призначити унікальний пароль для кожного запису файлу. Якщо ви стискаєте кілька файлів, ви можете вказати різні паролі для кожного. Ось як це зробити:

  1. Створіть новий FileStream для файлу архіву 7z.
  2. Отримайте доступ до кожного запису файлу, використовуючи клас FileInfo.
  3. Створіть екземпляр класу SevenZipArchive.
  4. Додайте записи до архіву 7z, використовуючи метод SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Збережіть архів, використовуючи метод SevenZipArchive.Save(Stream).

Перегляньте наступний зразок коду, щоб дізнатися, як встановити різні паролі для кожного запису в архіві 7z:

Висновок

У цій статті ми розглянули, як програмно створювати архіви 7z за допомогою C#. Ми також обговорили реалізацію AES шифрування для підвищення безпеки та як встановити унікальні паролі для кожного запису файлу. Для подальшого читання про стиснення та розпакування файлів ви можете ознайомитися з документацією Aspose.ZIP.

Схожі статті

Використовуючи плагін Aspose для .NET, ви можете легко інтегрувати .NET 7-Zip стиснення у свої додатки, спростити процеси управління файлами та покращити можливості вашого програмного забезпечення. Всого за $99 ви можете отримати потужні функції, які підтримують обробку великих файлів, асинхронне стиснення та багато іншого.