Create ZIP in C#

Вступ до ZIP-архівів

ZIP-архіви є невід’ємною частиною для стиснення та об’єднання одного або кількох файлів або папок в один контейнер. Цей формат не тільки зменшує розмір файлів для зберігання та передачі, але також зберігає інформацію про метадані, що спрощує управління файлами. ZIP-архіви широко використовуються як у настільних, так і у веб-додатках для таких завдань, як завантаження, скачування, обмін та захист файлів за допомогою шифрування.

У цій статті ми розглянемо різні методи програмного створення ZIP-архівів у C#. Ви дізнаєтеся, як:

Бібліотека C# ZIP

Aspose.ZIP для .NET — це потужний API, призначений для стиснення та розпаковування файлів і папок у додатках .NET. Він пропонує функції, такі як шифрування AES для захисту ваших файлів у ZIP-архівах. Ви можете легко встановити API з NuGet або завантажити бінарники з розділу Завантаження.

Створити ZIP-архів у C#

Щоб стиснути файл у ZIP-архів, виконайте ці кроки:

  1. Створіть об’єкт FileStream для вихідного ZIP-архіву.
  2. Відкрийте вихідний файл за допомогою об’єкта FileStream.
  3. Ініціалізуйте клас Archive.
  4. Додайте файл до архіву за допомогою методу Archive.CreateEntry(string, FileStream).
  5. Збережіть ZIP-архів за допомогою методу Archive.Save(FileStream).

Ось приклад коду, що демонструє, як додати файл до ZIP-архіву за допомогою C#:

Додати кілька файлів до ZIP-архіву в C#

Щоб додати кілька файлів до ZIP-архіву, ви можете вибрати один з наступних методів:

Використовуючи FileStream

Скористайтеся класом FileStream, щоб додати кілька файлів до ZIP-архіву за допомогою методу Archive.CreateEntry(String, FileStream). Ось як:

Використовуючи FileInfo

Альтернативно, ви можете використовувати клас FileInfo, щоб додати файли. Цей метод завантажує файли за допомогою класу FileInfo і додає їх до ZIP-архіву за допомогою методу Archive.CreateEntry(String, FileInfo). Дивіться приклад нижче:

Використовуючи шлях до файлу

Ви також можете додати файли безпосередньо, надавши їх шляхи методу Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Ось як:

Додати папки до ZIP-архіву в C#

Додавання папки до ZIP-архіву може бути зручним способом включення кількох файлів. Щоб ZIP-увати папку в C#, виконайте ці кроки:

  1. Створіть об’єкт FileStream для вихідного ZIP-архіву.
  2. Ініціалізуйте клас Archive.
  3. Використовуйте клас DirectoryInfo, щоб вказати папку, яку потрібно стиснути.
  4. Додайте папку до ZIP, використовуючи метод Archive.CreateEntries(DirectoryInfo).
  5. Збережіть ZIP-архів за допомогою методу Archive.Save(FileStream).

Ось приклад коду, що демонструє, як додати папку до ZIP-архіву в C#:

Створити 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.ZIP для .NET надає кілька режимів паралельного стиснення:

  • Ніколи - Не стиснути паралельно.
  • Завжди - Завжди стиснути паралельно (будьте обережні з проблемами нестачі пам’яті).
  • Авто - Автоматично вирішити, чи використовувати паралельне стиснення на основі записів.

Ось приклад, що демонструє, як встановити режим паралельного стиснення під час стиснення кількох файлів:

Дізнайтеся більше про бібліотеку C# .NET ZIP

Зануртеся глибше у наш C# ZIP API з наступними ресурсами:

Спробуйте ZIP-архіви онлайн

Досліджуйте наш безкоштовний онлайн-додаток, заснований на Aspose.ZIP для .NET, щоб легко стиснути файли в ZIP-архіви.

Висновок

У цій статті ви дізналися, як програмно створювати ZIP-архіви в C#. Надані приклади коду демонструють, як додавати файли та папки до ZIP-архівів. Крім того, ми розглянули, як створити ZIP-архіви з паролем, використовуючи як ZipCrypto, так і методи AES-шифрування. Ми також обговорили паралельне стиснення для ефективної обробки великих файлів. Якщо у вас є будь-які питання або вам потрібна додаткова допомога, не соромтеся звертатися через наш форум.

Дивіться також

Розпакувати або витягти файли за допомогою C#Розпакувати файли в ZIP-архівах за допомогою C#Створити 7z (7-Zip) архіви в C# .NET
Відкрити або витягти файл 7z (7zip) в C# .NETСтворити та витягти GZip-архіви за допомогою C#Конвертувати RAR-файли в ZIP-архів у C#
Конвертувати ZIP-архіви в TAR у C#Створити плоский ZIP-архів у C#Створити виконуваний саморозпаковуваний архів у C#
Створити файли TAR.GZ і TAR.XZ у C#Видалити файли в ZIP-архіві в C#Витягти вкладені ZIP-архіви в C#
Об’єднати кілька ZIP або TAR архівів у C#Як створити ZIP-файлиВитягти 7z онлайн