Як розпакувати zip-файл у C#

Як розпакувати zip-файл у C#

У цьому підручнику ви дізнаєтеся, як витягувати zip-файли за допомогою коду C#. За допомогою бібліотеки Aspose.ZIP ви можете легко розпаковувати архіви різних форматів, таких як ZIP, GZip, RAR, TAR та 7Zip, безпосередньо у ваших додатках.

Переваги витягування ZIP-файлів

  1. Управління файлами:
    • Спрощує обробку та організацію великих наборів файлів.
  2. Сумісність:
    • Легко інтегрується з різними форматами файлів, підтримуваними Aspose.ZIP.
  3. Автоматизовані процеси:
    • Ідеально підходить для додатків, які потребують автоматизованого витягування файлів.

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

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

Покрокова інструкція з витягування zip-файлу в C#

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

Почніть з додавання бібліотеки Aspose.ZIP до вашого проєкту.

Install-Package Aspose.ZIP

Крок 2: Додайте простір імен

Додайте посилання на простір імен Aspose.Zip у вашому коді.

using Aspose.Zip;

Крок 3: Завантажте ZIP-файл

Відкрийте ZIP-файл за допомогою об’єкта FileStream.

FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

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

Завантажте FileStream в об’єкт Archive.

Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

Крок 5: Порахуйте файли в архіві

Отримайте кількість файлів, що містяться в ZIP-архіві.

int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

Крок 6: Витягніть кожен елемент

Пройдіться по кожному елементу в архіві та витягніть файли.

for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

Повний приклад коду для витягування ZIP-файлу

Нижче наведено повний приклад витягування ZIP-файлу за допомогою C#:

// Відкрийте файл з диска за допомогою потоку файлів
FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

// Завантажте потік Zip файлу в об'єкт Archive
Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

// Отримайте кількість файлів в архіві
int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

// Пройдіться по архіву для кожного файлу
for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    // Отримайте кожен запис архіву zip і витягніть файл
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

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

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

Висновок

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

 Українська