Как да извлечете 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, за да настроите лиценз на Aspose.Zip API
  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 екстрактор във вашите приложения или като независима помощна програма.

 Български