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

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

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

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

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

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

Aspose.ZIP для .NET — це потужний інструмент для роботи з операціями ZIP-файлів у додатках .NET, що спрощує стискання або розпакування файлів і папок. Ця бібліотека особливо ефективна для обробки великих файлів у ZIP-архівах C# .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:

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

Щоб поглибити свої знання про бібліотеку ZIP C# .NET, досліджуйте наступні ресурси:

Спробуйте наш онлайн-інструмент стиснення 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 онлайн

Ключові слова: Створення ZIP-архівів програмно C# .NET, Обробка ZIP-файлів C# .NET Core, Додавання файлів до ZIP-архіву в C# .NET 6, Додавання папок до ZIP-архіву за допомогою C# .NET, Програмне створення ZIP-файлу з каталогу C#, Стиснення ZIP-файлів C# .NET з паролем, Програмне шифрування та дешифрування ZIP-файлів .NET, Ефективне створення ZIP-файлів у C# .NET для великих файлів, Обробка великих файлів у ZIP-архівах C# .NET, Обробка помилок ZIP-архівів C# .NET і найкращі практики, Програмне додавання файлів за допомогою бібліотеки Aspose .NET Zip, Продуктивність бібліотеки Aspose .NET Zip для великих файлів, Бібліотека Aspose .NET Zip: Додавання папок і файлів програмно, Програмне оновлення ZIP-файлів C# .NET, ZIP-архів .NET: Додавання кількох папок і файлів, Асинхронне створення ZIP-файлів C# .NET, Програмне створення ZIP-файлів .NET Framework, Програмне створення ZIP-архівів .NET Core, Приклади маніпуляції ZIP-файлами .NET: Додавання, видалення, оновлення, Програмне обробка ZIP-файлів у C# .NET Core 3.1, Програмне обробка ZIP-файлів у C# .NET 5, Програмне обробка ZIP-файлів у C# .NET 7, ZIP-архів C# .NET з збереженням структури каталогу, API ZIP-файлів C# .NET: Додавання, видалення, витягування, Створення саморозпаковуваних ZIP-файлів у C# .NET, Бібліотека стиснення ZIP .NET: Найкращі практики та оптимізація, Створення ZIP-файлів C# .NET з кількох джерел, Додавання файлів до ZIP-папки з підкаталогами, Програмне обробка ZIP-файлів .NET: Розширені техніки, Рекомендація бібліотеки ZIP C# .NET для великих файлів, Ефективне створення ZIP-файлів C# .NET для великих наборів даних, Створення ZIP-файлів .NET з відображенням прогресу, ZIP-архів C# .NET: Програмне додавання файлів і папок, Обробка ZIP-файлів .NET 6: Ефективна обробка файлів, ZIP-архів C# .NET: Найкращі практики для безпеки, API ZIP-файлів .NET: Розширене використання та функції, Додавання каталогу до ZIP-архіву з користувацьким стисненням.