Hoe zip-bestand uit te pakken in C#

In deze zelfstudie laten we u zien hoe u het Zip-bestand in C#-code kunt extraheren. U kunt C# gebruiken om een archief in uw toepassingen uit te pakken. Deze code ondersteunt meerdere zip or archive file formats zoals GZip, RAR, TAR, 7Zip en meer.

Stappen om zip-bestand uit te pakken in C#

  1. Installeer het Aspose.Zip for .NET-pakket van NuGet.org
  2. Neem Aspose.Zip naamruimte op in de code
  3. Gebruik de SetLicense-methode om de licentie van Aspose.Zip API in te stellen
  4. Invoer Zip-bestand in een FileStream-object laden
  5. Maak een nieuwe Archive object van de bestandsstream
  6. Krijg het aantal bestanden in het archief en loop door de archiefitems
  7. Pak elk archiefitem uit en sla het bestand op de schijf op

Elk item in het archief bevat niet alleen het bestand, maar ook de naam van het bestand. We hebben de eigenschap Name gebruikt om de bestandsnaam te krijgen en vervolgens het uitgepakte bestand met dezelfde naam.

Code om zip-bestand uit te pakken 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);
}
}
}
}

In de bovenstaande code hebben we FileStream gebruikt om de Zip archive te laden en vervolgens de uitgepakte uitvoerbestanden op de schijf opgeslagen. U kunt deze code ook in C# gebruiken om het bestand in het geheugen uit te pakken. Dit kan handig zijn als u die bestanden verder in de code of toepassing nodig hebt en niet op schijf wilt opslaan. Met behulp van deze code kunt u eenvoudig en snel uw eigen C# Zip-extractor maken in uw applicaties of als een onafhankelijk hulpprogramma.

 Nederlands