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