Введение в ZIP-архивы на C#
ZIP-архивы необходимы для сжатия и организации файлов и папок в одном контейнере. Они не только уменьшают размеры файлов для эффективного хранения и передачи, но и сохраняют метаданные и могут быть зашифрованы для обеспечения безопасности. Эта статья проведет вас через различные методы программного создания ZIP-файлов на C#, охватывая операции, такие как добавление файлов и папок, создание архивов с защитой паролем и применение AES шифрования.
Что вы узнаете
В этой статье вы узнаете, как:
- Создать ZIP-архив с использованием C#
- Добавить несколько файлов в ZIP-архив
- Добавить папки в ZIP-архив
- Создать ZIP-архив с защитой паролем с использованием ZipCrypto
- Зашифровать ZIP-архив с помощью AES шифрования
- Установить режим параллельного сжатия
C# ZIP Библиотека
Библиотека Aspose.ZIP для .NET является мощным инструментом для обработки операций с ZIP-файлами в приложениях .NET. Она упрощает процесс сжатия или распаковки файлов и папок и поддерживает AES шифрование для повышения безопасности. Вы можете легко установить эту библиотеку из NuGet или скачать бинарные файлы из раздела Загрузки.
Создать ZIP-архив на C#
Чтобы программно создать ZIP-файл на C#, выполните следующие шаги:
- Создайте объект FileStream для выходного ZIP-архива.
- Откройте исходный файл как объект FileStream.
- Создайте экземпляр класса Archive.
- Добавьте файл в архив с помощью метода Archive.CreateEntry(string, FileStream).
- Сохраните ZIP-архив с помощью метода Archive.Save(FileStream).
Вот пример кода, демонстрирующий, как добавить файл в ZIP-архив на C#:
Добавить несколько файлов в ZIP-архив на C#
Когда вам нужно добавить несколько файлов в ZIP-архив, вы можете использовать несколько подходов:
Использование FileStream для добавления нескольких файлов
Этот метод использует класс FileStream для добавления файлов в ZIP-архив через метод Archive.CreateEntry(String, FileStream). Вот как это можно сделать:
Использование FileInfo для нескольких файлов
В качестве альтернативы вы можете использовать класс FileInfo, чтобы загрузить файлы и добавить их в ZIP-архив с помощью метода Archive.CreateEntry(String, FileInfo). Ниже приведен пример кода:
Использование путей к файлам
Вы также можете напрямую предоставить пути к файлам методу Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Вот пример:
Добавить папки в ZIP-архив на C#
Чтобы добавить папку в ZIP-архив на C#, выполните следующие шаги:
- Создайте объект FileStream для выходного ZIP-архива.
- Создайте экземпляр класса Archive.
- Используйте класс DirectoryInfo, чтобы указать папку, которую вы хотите заархивировать.
- Добавьте папку в ZIP с помощью метода Archive.CreateEntries(DirectoryInfo).
- Сохраните ZIP-архив с помощью метода Archive.Save(FileStream).
Вот пример кода, который иллюстрирует, как добавить папку в ZIP-файл:
Создать ZIP с защитой паролем с использованием ZipCrypto на C#
Чтобы защитить ваши ZIP-архивы, вы можете применить защиту паролем с использованием шифрования ZipCrypto. Это достигается с помощью использования класса ArchiveEntrySettings в конструкторе Archive, который принимает тип шифрования в качестве параметра.
Вот как создать ZIP-архив с защитой паролем с использованием ZipCrypto на C#:
Создать ZIP с защитой паролем с AES шифрованием
Библиотека Aspose.ZIP для .NET также поддерживает AES шифрование для защиты ZIP-архивов. Вы можете выбрать один из следующих методов AES шифрования:
- AES128
- AES192
- AES256
Чтобы применить AES шифрование, используйте класс AesEcryptionSettings. Ниже приведен пример кода, демонстрирующий, как создать ZIP с защитой паролем с AES шифрованием на C#:
Установить режим параллельного сжатия
Для эффективной обработки нескольких записей вы можете настроить API для параллельного сжатия с использованием класса ParallelOptions. Доступные режимы параллельного сжатия:
- Никогда - Не сжимать параллельно.
- Всегда - Сжимать параллельно (осторожно с возможными проблемами с памятью).
- Авто - Автоматически решать, использовать ли параллельное сжатие в зависимости от записей.
Вот как установить режим параллельного сжатия при сжатии нескольких файлов с помощью библиотеки Aspose C# ZIP:
Узнайте больше о C# .NET ZIP Библиотеке
Чтобы углубить свои знания о C# ZIP библиотеке, изучите следующие ресурсы:
Попробуйте наш онлайн инструмент сжатия ZIP
Вы также можете поэкспериментировать с нашим бесплатным онлайн приложением на основе Aspose.ZIP для .NET для легкого сжатия файлов в ZIP-архивы.
Заключение
В этой статье вы узнали, как программно создавать ZIP-архивы на C#. Приведенные примеры кода демонстрируют, как добавлять файлы и папки в ZIP-архивы, создавать ZIP-файлы с защитой паролем с использованием методов ZipCrypto и AES шифрования, а также настраивать параллельное сжатие. Если у вас есть вопросы или вам нужна дополнительная помощь, не стесняйтесь обращаться через наш форум.