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

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

У цьому посібнику ви дізнаєтеся, як створювати архіви 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).

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

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

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

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

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

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

Формат 7z підтримує AES шифрування для підвищення безпеки. Щоб зашифрувати файл 7z, використовуйте клас SevenZipAESEncryptionSettings. Нижче наведено зразок коду, який демонструє, як створити архів 7z з AES шифруванням за допомогою 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 ви можете отримати потужні функції, що підтримують обробку великих файлів, асинхронне стиснення та багато іншого.