Создание архива 7Zip в C#

В предыдущем посте мы рассмотрели различные методы создания ZIP архивов с использованием C#. В этой статье мы расширим эту основу, сосредоточившись на формате 7z. Формат 7z основан на архитектуре с открытым исходным кодом и предлагает высокий коэффициент сжатия, а также возможность использования 256-битного AES шифрования для защиты как файлов, так и их имен.

Что вы узнаете

В этом руководстве вы узнаете, как программно создавать архивы 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).

Вот пример C# архива 7z, демонстрирующий вышеуказанные шаги:

Создание архива 7z с несколькими записями

Если вам нужно сжать несколько файлов, вы можете поместить их в папку и передать путь к папке методу SevenZipArchive.CreateEntries(). Выполните следующие шаги:

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

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

Создание AES зашифрованного архива 7z с использованием C#

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