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

У цьому підручнику ми покажемо вам, як розпакувати файл Zip у коді C#. Ви можете використовувати C#, щоб розпакувати архів у своїх програмах. Цей код підтримує кілька zip or archive file formats, як-от GZip, RAR, TAR, 7Zip тощо.

Кроки для вилучення файлу Zip у C#

  1. Установіть пакет Aspose.Zip for .NET із NuGet.org
  2. Включіть у код простір імен Aspose.Zip
  3. Використовуйте метод SetLicense для налаштування ліцензії API Aspose.Zip
  4. Завантажте вхідний файл Zip в об’єкт FileStream
  5. Створіть нове Archive object із потоку файлів
  6. Отримайте кількість файлів в архіві та прокрутіть записи архіву
  7. Розпакуйте кожен запис архіву та збережіть файл на диску

Кожен запис в архіві містить не тільки файл, а й ім’я файлу. Ми використали властивість Name, щоб отримати ім’я файлу, а потім витягли файл із такою ж назвою.

Код для вилучення файлу Zip у C#

using System;
using System.IO;
using System.Text;
//Add reference to Aspose.Zip for .NET API
//Use following namespace to extract zip file
using Aspose.Zip;
namespace ExtractZipFile
{
class Program
{
static void Main(string[] args)
{
//Set Aspose license before extracting Zip file
//using Aspose.Zip for .NET
Aspose.Zip.License AsposeZipLicense = new Aspose.Zip.License();
AsposeZipLicense.SetLicense(@"c:\asposelicense\license.lic");
//Open file from disk using a file stream
FileStream ZipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);
//Load Zip file stream to Archive object
Archive ZipArchiveToExtract = new Archive(ZipFileToBeExtracted);
//Get number of files
int NumberOfFileInArchive = ZipArchiveToExtract.Entries.Count;
//Loop through the archive for each file
for(int FileCounter =0; FileCounter < NumberOfFileInArchive; FileCounter++)
{
//Get each zip archive entry and extract the file
ArchiveEntry ArchiveFileEntry = ZipArchiveToExtract.Entries[FileCounter];
string NameOfFileInZipEntry = ArchiveFileEntry.Name;
ArchiveFileEntry.Extract(NameOfFileInZipEntry);
}
}
}
}

У наведеному вище коді ми використали FileStream для завантаження Zip archive, а потім зберегли витягнуті вихідні файли на диск. Ви також можете використовувати цей код у C#, щоб розпакувати файл у пам’яті. Це може бути корисним, коли вам потрібні ці файли далі в коді чи програмі, і ви не хочете зберігати їх на диску. Використовуючи цей код, ви можете легко та швидко створити власний екстрактор C# Zip у своїх програмах або як незалежну утиліту.

 Українська