Як стиснути папку у C#

Як стиснути папку у C#

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

Переваги стиснення папок

  1. Ефективність використання простору:
    • Зменшує обсяг пам’яті, стискаючи файли.
  2. Організоване управління файлами:
    • Об’єднує кілька файлів в один архів для легшого розподілу та управління.
  3. Швидші передачі:
    • Менші розміри файлів призводять до швидших часів завантаження та скачування.

Попередні вимоги: Підготовка середовища

  1. Налаштуйте Visual Studio або будь-який сумісний .NET IDE.
  2. Встановіть бібліотеку Aspose.ZIP через менеджер пакетів NuGet.

Покрокова інструкція зі стиснення папки

Крок 1: Встановіть Aspose.ZIP

Додайте бібліотеку Aspose.ZIP до вашого проекту.

Install-Package Aspose.ZIP

Крок 2: Створіть об’єкт FileStream

Інстанціюйте об’єкт FileStream для вихідного ZIP-файлу.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

Крок 3: Створіть об’єкт ZIP-архіву

Створіть екземпляр класу Archive для виконання ZIP-операцій.

using (Archive archiveFile = new Archive())
{
    // Подальша обробка відбувається тут
}

Крок 4: Створіть записи в архіві

Додайте всі файли та папки з цільового каталогу рекурсивно.

archiveFile.CreateEntries("AnimationImages");

Крок 5: Збережіть ZIP-файл

Після створення записів збережіть архів на диску.

archiveFile.Save(zippedFolder);

Повний приклад коду для стиснення папки

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

// Створіть об'єкт потоку файлів для вихідного zip-файлу
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Створіть об'єкт класу Zip архіву
    using (Archive archiveFile = new Archive())
    {
        // Додайте всі файли та папки рекурсивно
        archiveFile.CreateEntries("AnimationImages");

        // Збережіть вихідний ZIP-файл
        archiveFile.Save(zippedFolder);
    }
}

Додаткова інформація

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

Висновок

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

 Українська