Створення ZIP в C#

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

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

Що ви дізнаєтеся

У цій статті ви дізнаєтеся, як:

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

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

Створення ZIP-архіву в C#

Щоб програмно створити ZIP-файл у C#, виконайте такі кроки:

  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, щоб завантажити файли та додати їх до ZIP-архіву за допомогою методу Archive.CreateEntry(String, FileInfo). Ось приклад коду:

Використання шляхів до файлів

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

Додавання папок до ZIP-архіву в C#

Щоб додати папку до ZIP-архіву в C#, ви можете виконати такі кроки:

  1. Створіть об’єкт FileStream для вихідного ZIP-архіву.
  2. Створіть екземпляр класу Archive.
  3. Використовуйте клас DirectoryInfo, щоб вказати папку, яку потрібно заархівувати.
  4. Додайте папку до ZIP за допомогою методу Archive.CreateEntries(DirectoryInfo).
  5. Збережіть 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-шифрування, а також налаштовувати паралельне стиснення. Якщо у вас є будь-які запитання або вам потрібна додаткова допомога, не соромтеся звертатися через наш форум.

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

Розпакування або витяг файлів за допомогою 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 онлайн