So extrahieren Sie eine Zip-Datei in C#

In diesem Anleitungs-Tutorial zeigen wir Ihnen, wie Sie die Zip-Datei in C#-Code extrahieren. Sie können C# verwenden, um ein Archiv in Ihren Anwendungen zu entpacken. Dieser Code unterstützt mehrere zip or archive file formats wie GZip, RAR, TAR, 7Zip und mehr.

Schritte zum Extrahieren der Zip-Datei in C#

  1. Installieren Sie das Aspose.Zip for .NET-Paket von NuGet.org
  2. Fügen Sie den Namespace Aspose.Zip in den Code ein
  3. Verwenden Sie die SetLicense-Methode, um die Lizenz der Aspose.Zip-API einzurichten
  4. Laden Sie die ZIP-Eingabedatei in ein FileStream-Objekt
  5. Erstellen Sie ein neues Archive object aus dem Dateistream
  6. Ermitteln Sie die Anzahl der Dateien im Archiv und durchlaufen Sie die Archiveinträge
  7. Extrahieren Sie jeden Archiveintrag und speichern Sie die Datei auf der Festplatte

Jeder Eintrag im Archiv enthält nicht nur Datei, sondern auch den Namen der Datei. Wir haben die Name-Eigenschaft verwendet, um den Dateinamen zu erhalten und dann die Datei mit demselben Namen zu extrahieren.

Code zum Extrahieren der Zip-Datei 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);
}
}
}
}

Im obigen Code haben wir FileStream verwendet, um Zip archive zu laden, und dann die extrahierten Ausgabedateien auf der Festplatte gespeichert. Sie können diesen Code auch in C# verwenden, um die Datei im Arbeitsspeicher zu entpacken. Dies kann hilfreich sein, wenn Sie diese Dateien weiter im Code oder in der Anwendung benötigen und nicht auf der Festplatte speichern möchten. Mit diesem Code können Sie einfach und schnell Ihren eigenen C#-Zip-Extraktor in Ihren Anwendungen oder als unabhängiges Dienstprogramm erstellen.

 Deutsch