
У попередньому пості ми досліджували різні методи створення ZIP архівів за допомогою C#. У цій статті ми розширимо цю основу, зосередившись на форматі 7z. Формат 7z заснований на архітектурі з відкритим кодом і пропонує високий коефіцієнт стиснення, а також можливість використовувати 256-бітне AES шифрування для захисту як файлів, так і їхніх назв.
Що ви дізнаєтеся
У цьому посібнику ви дізнаєтеся, як програмно створювати архіви 7z (7-Zip) за допомогою C#. Ми розглянемо:
- Створення архіву 7z з одним записом
- Створення AES зашифрованого архіву 7z
- Встановлення різних паролів для записів 7z
Всі приклади та фрагменти коду базуються на API Aspose.ZIP для .NET. Переконайтеся, що у вас встановлено API, використовуючи один із наведених нижче методів:
- Встановіть через NuGet Package Manager.
- Завантажте DLL і додайте його посилання до вашого проекту.
Створення архіву 7z (7-Zip) за допомогою C#
Ви можете стиснути файли в архів 7z у двох основних сценаріях: при роботі з одиничним файлом або декількома файлами. Ось як впоратися з обома ситуаціями.
Створення архіву 7z з одним записом
Щоб створити архів 7z з одним файлом, виконайте такі кроки:
- Відкрийте новий FileStream для створення файлу 7z.
- Створіть екземпляр класу SevenZipArchive.
- Додайте файл до архіву, використовуючи метод SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
- Збережіть архів, використовуючи метод SevenZipArchive.Save(Stream).
Ось приклад архіву C# 7z, що демонструє вищезазначені кроки:
Створення архіву 7z з кількома записами
Якщо вам потрібно стиснути кілька файлів, ви можете помістити їх у папку та передати шлях до папки методу SevenZipArchive.CreateEntries(). Виконайте такі кроки:
- Створіть екземпляр класу SevenZipArchive.
- Передайте шлях до папки методу SevenZipArchive.CreateEntries(String, Boolean).
- Викличте метод SevenZipArchive.Save(String).
Ось як створити архів 7z з кількома записами за допомогою C#:
Створення AES зашифрованого архіву 7z за допомогою C#
Формат 7z підтримує AES шифрування для підвищення безпеки. Щоб зашифрувати файл 7z, використовуйте клас SevenZipAESEncryptionSettings. Нижче наведено зразок коду, який демонструє, як створити AES зашифрований архів 7z за допомогою C#:
Встановлення різних паролів для записів 7z за допомогою C#
Формат 7z також дозволяє вам призначити унікальний пароль для кожного запису файлу. Якщо ви стискаєте кілька файлів, ви можете вказати різні паролі для кожного. Ось як це зробити:
- Створіть новий FileStream для файлу архіву 7z.
- Отримайте доступ до кожного запису файлу, використовуючи клас FileInfo.
- Створіть екземпляр класу SevenZipArchive.
- Додайте записи до архіву 7z, використовуючи метод SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
- Збережіть архів, використовуючи метод SevenZipArchive.Save(Stream).
Перегляньте наступний зразок коду, щоб дізнатися, як встановити різні паролі для кожного запису в архіві 7z:
Висновок
У цій статті ми розглянули, як програмно створювати архіви 7z за допомогою C#. Ми також обговорили реалізацію AES шифрування для підвищення безпеки та як встановити унікальні паролі для кожного запису файлу. Для подальшого читання про стиснення та розпакування файлів ви можете ознайомитися з документацією Aspose.ZIP.
Схожі статті
Використовуючи плагін Aspose для .NET, ви можете легко інтегрувати .NET 7-Zip стиснення у свої додатки, спростити процеси управління файлами та покращити можливості вашого програмного забезпечення. Всого за $99 ви можете отримати потужні функції, які підтримують обробку великих файлів, асинхронне стиснення та багато іншого.