В предыдущем посте мы рассмотрели различные методы создания 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 с использованием 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 долларов вы можете разблокировать мощные функции, поддерживающие работу с большими файлами, асинхронное сжатие и многое другое.