In questo tutorial, ti mostreremo come estrarre il file Zip in codice C#. Puoi usare C# per decomprimere un archivio nelle tue applicazioni. Questo codice supporta più zip or archive file formats come GZip, RAR, TAR, 7Zip e altri.
Passaggi per estrarre il file zip in C#
- Installa il pacchetto Aspose.Zip for .NET da NuGet.org
- Includi Aspose.Zip spazio dei nomi nel codice
- Utilizzare il metodo SetLicense per impostare la licenza dell’API Aspose.Zip
- Carica il file Zip di input in un oggetto FileStream
- Crea un nuovo Archive object dal flusso di file
- Ottieni il conteggio dei file nell’archivio e scorre le voci dell’archivio
- Estrarre ogni voce di archivio e salvare il file sul disco
Ogni voce nell’archivio contiene non solo il file, ma anche il nome del file. Abbiamo utilizzato la proprietà Name per ottenere il nome del file e quindi estratto il file con lo stesso nome.
Codice per estrarre il file zip in 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); | |
} | |
} | |
} | |
} |
Nel codice sopra, abbiamo utilizzato FileStream per caricare Zip archive e quindi salvato i file di output estratti sul disco. Puoi anche usare questo codice in C# per decomprimere il file in memoria. Questo può essere utile quando hai bisogno di quei file più avanti nel codice o nell’applicazione e non vuoi salvarli su disco. Utilizzando questo codice, puoi creare facilmente e rapidamente il tuo estrattore C# Zip nelle tue applicazioni o come utilità indipendente.