
Вступ до ZIP-архівів
ZIP-архіви є невід’ємною частиною для стиснення та об’єднання одного або кількох файлів або папок в один контейнер. Цей формат не тільки зменшує розмір файлів для зберігання та передачі, але також зберігає інформацію про метадані, що спрощує управління файлами. ZIP-архіви широко використовуються як у настільних, так і у веб-додатках для таких завдань, як завантаження, скачування, обмін та захист файлів за допомогою шифрування.
У цій статті ми розглянемо різні методи програмного створення ZIP-архівів у C#. Ви дізнаєтеся, як:
- Створити ZIP-архів за допомогою C#
- Додати кілька файлів до ZIP-архіву
- Додати папки до ZIP-архіву
- Створити ZIP-архів з паролем за допомогою ZipCrypto
- Зашифрувати ZIP-архів за допомогою шифрування AES
- Встановити режим паралельного стиснення
Бібліотека C# ZIP
Aspose.ZIP для .NET — це потужний API, призначений для стиснення та розпаковування файлів і папок у додатках .NET. Він пропонує функції, такі як шифрування AES для захисту ваших файлів у ZIP-архівах. Ви можете легко встановити API з NuGet або завантажити бінарники з розділу Завантаження.
Створити ZIP-архів у C#
Щоб стиснути файл у ZIP-архів, виконайте ці кроки:
- Створіть об’єкт 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, щоб додати файли. Цей метод завантажує файли за допомогою класу FileInfo і додає їх до ZIP-архіву за допомогою методу Archive.CreateEntry(String, FileInfo). Дивіться приклад нижче:
Використовуючи шлях до файлу
Ви також можете додати файли безпосередньо, надавши їх шляхи методу Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Ось як:
Додати папки до ZIP-архіву в C#
Додавання папки до ZIP-архіву може бути зручним способом включення кількох файлів. Щоб ZIP-увати папку в C#, виконайте ці кроки:
- Створіть об’єкт FileStream для вихідного ZIP-архіву.
- Ініціалізуйте клас Archive.
- Використовуйте клас DirectoryInfo, щоб вказати папку, яку потрібно стиснути.
- Додайте папку до ZIP, використовуючи метод Archive.CreateEntries(DirectoryInfo).
- Збережіть 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-шифрування. Ми також обговорили паралельне стиснення для ефективної обробки великих файлів. Якщо у вас є будь-які питання або вам потрібна додаткова допомога, не соромтеся звертатися через наш форум.