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#
- Nainstalujte balíček Aspose.Zip for .NET z NuGet.org
- Zahrňte do kódu jmenný prostor Aspose.Zip
- Použijte metodu SetLicense pro nastavení licence Aspose.Zip API
- Načtěte vstupní soubor ZIP do objektu FileStream
- Vytvořte nový Archive object ze streamu souborů
- Získejte počet souborů v archivu a procházejte záznamy archivu
- 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.