I den här handledningen visar vi hur du extraherar filen Zip i C#-kod. Du kan använda C# för att packa upp ett arkiv i dina applikationer. Den här koden stöder flera zip or archive file formats som GZip, RAR, TAR, 7Zip och mer.
Steg för att extrahera zip-fil i C#
- Installera paketet Aspose.Zip for .NET från NuGet.org
- Inkludera namnområdet Aspose.Zip i koden
- Använd SetLicense-metoden för att ställa in licensen för Aspose.Zip API
- Ladda inmatad Zip-fil i ett FileStream-objekt
- Skapa en ny Archive object från filströmmen
- Få antalet filer i arkivet och gå igenom arkivposterna
- Extrahera varje arkivpost och spara filen på disken
Varje post i arkivet innehåller inte bara filen utan även namnet på filen. Vi har använt egenskapen Name för att få filnamnet och sedan extraherat filen med samma namn.
Kod för att extrahera zip-fil i 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); | |
} | |
} | |
} | |
} |
I koden ovan har vi använt FileStream för att ladda Zip archive och sedan sparat de extraherade utdatafilerna på disken. Du kan också använda den här koden i C# för att packa upp filen i minnet. Detta kan vara användbart när du behöver dessa filer längre i koden eller programmet och inte vill spara på disk. Med denna kod kan du enkelt och snabbt skapa din egen C# Zip-extraktor i dina applikationer eller som ett oberoende verktyg.