У попередньому пості ми розглянули різні методи створення ZIP архівів за допомогою C#. Ця стаття розширить ці знання, зосередившись на форматі 7z, який базується на архітектурі з відкритим вихідним кодом і пропонує високий коефіцієнт стиснення. Важливо, що 7z підтримує AES шифрування з розрядністю 256 біт, що дозволяє захистити не лише файли, але й їхні назви.
У цьому посібнику ви дізнаєтеся, як створювати архіви 7z (7-Zip) програмно за допомогою C#. Ми розглянемо:
- Створення архіву 7z з одним елементом
- Створення архіву 7z з AES шифруванням
- Встановлення різних паролів для елементів 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).
Ось приклад архіву 7z на C#, що демонструє наведені вище кроки:
Створення архіву 7z з кількома елементами
Якщо вам потрібно стиснути кілька файлів, ви можете помістити їх у папку та передати шлях до папки методу SevenZipArchive.CreateEntries(). Виконайте такі кроки:
- Створіть екземпляр класу SevenZipArchive.
- Передайте шлях до папки методу SevenZipArchive.CreateEntries(String, Boolean).
- Викличте метод SevenZipArchive.Save(String).
Ось як створити архів 7z з кількома елементами за допомогою C#:
Створення архіву 7z з AES шифруванням за допомогою C#
Формат 7z підтримує AES шифрування для підвищення безпеки. Щоб зашифрувати файл 7z, використовуйте клас SevenZipAESEncryptionSettings. Нижче наведено зразок коду, який демонструє, як створити архів 7z з AES шифруванням за допомогою 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 ви можете отримати потужні функції, що підтримують обробку великих файлів, асинхронне стиснення та багато іншого.