Jak extrahovat zip soubor v C#

V tomto tutoriálu vám ukážeme, jak extrahovat soubor Zip v kódu C#. K rozbalení archivu ve vašich aplikacích můžete použít C#. Tento kód podporuje několik zip or archive file formats jako GZip, RAR, TAR, 7Zip a další.

Kroky k extrahování souboru ZIP v C#

  1. Nainstalujte balíček Aspose.Zip for .NET z NuGet.org
  2. Zahrňte do kódu jmenný prostor Aspose.Zip
  3. Použijte metodu SetLicense pro nastavení licence Aspose.Zip API
  4. Načtěte vstupní soubor ZIP do objektu FileStream
  5. Vytvořte nový Archive object ze streamu souborů
  6. Získejte počet souborů v archivu a procházejte záznamy archivu
  7. Rozbalte každou položku archivu a uložte soubor na disk

Každý záznam v archivu obsahuje nejen soubor, ale také název souboru. Použili jsme vlastnost Name k získání názvu souboru a poté extrahovali soubor se stejným názvem.

Kód pro extrahování souboru ZIP v 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);
}
}
}
}

Ve výše uvedeném kódu jsme použili FileStream k načtení Zip archive a poté uložili extrahované výstupní soubory na disk. Tento kód můžete také použít v C# k rozbalení souboru v paměti. To může být užitečné, když tyto soubory potřebujete dále v kódu nebo aplikaci a nechcete je ukládat na disk. Pomocí tohoto kódu můžete snadno a rychle vytvořit svůj vlastní C# Zip extraktor ve svých aplikacích nebo jako nezávislý nástroj.

 Čeština