Wenn Sie mit ZIP-Dateien arbeiten, stellen Sie möglicherweise fest, dass mehrere ZIP-Archive in einem übergeordneten ZIP-Archiv enthalten sind. Um auf den Inhalt dieser verschachtelten Archive zuzugreifen, müssen Sie zunächst das übergeordnete ZIP extrahieren und dann jedes verschachtelte Archiv einzeln behandeln. In diesem Artikel zeigen wir Ihnen, wie Sie verschachtelte ZIP-Archive in C# .NET effizient und ohne komplizierten Code extrahieren.

Inhaltsverzeichnis

Verwendung der .NET-API zur Extraktion von verschachtelten ZIP-Archiven

Um die Extraktion von verschachtelten ZIP-Archiven durchzuführen, verwenden wir die Aspose.ZIP für .NET-Bibliothek. Diese leistungsstarke API ist speziell für Archivierungsoperationen innerhalb von .NET-Anwendungen konzipiert und ermöglicht es Ihnen, verschiedene Archivformate problemlos zu erstellen und zu manipulieren. Sie können die DLL der API herunterladen oder sie direkt mit NuGet mit folgendem Befehl installieren:

PM> Install-Package Aspose.Zip

Schritt-für-Schritt-Anleitung zum Entpacken von verschachtelten ZIP-Archiven

Für unsere Demonstration haben wir eine ZIP-Datei vorbereitet, die drei Einträge enthält, darunter verschachtelte ZIP-Archive.

Verschachtelte ZIP-Archive

Verschachtelte ZIP-Archive

Wir werden jedes verschachtelte ZIP-Archiv extrahieren und seinen Inhalt in separaten Ordnern speichern. Hier sind die Schritte zur Verarbeitung von verschachtelten ZIP-Dateien in .NET:

  1. Erstellen Sie einen FileStream: Laden Sie die übergeordnete ZIP-Datei mit einem FileStream-Objekt.
  2. Laden Sie die ZIP-Datei: Nutzen Sie die Archive-Klasse, um die ZIP-Datei zu laden.
  3. Durchlaufen Sie die Archiv-Einträge: Schleifen Sie durch jeden ArchiveEntry in der Archive.Entries-Sammlung.
  4. Filtern Sie die verschachtelten ZIP-Archive: Identifizieren Sie die ZIP-Archive in der Sammlung und führen Sie für jedes dieser Archive Folgendes aus:
    • Erstellen Sie einen MemoryStream: Instanziieren Sie einen MemoryStream und kopieren Sie den Archiv-Eintrag mit der Methode ArchiveEntry.Open().CopyTo(Stream) hinein.
    • Laden Sie das verschachtelte Archiv: Erstellen Sie eine Instanz der Archive-Klasse, um das verschachtelte Archiv aus dem MemoryStream zu laden.
    • In ein Verzeichnis extrahieren: Schließlich extrahieren Sie den Inhalt des verschachtelten Archivs in einen angegebenen Ordner mit der Methode Archive.ExtractToDirectory(string).

Hier ist ein Codebeispiel, das zeigt, wie man verschachtelte ZIP-Archive in C# .NET entpackt:

Der folgende Screenshot zeigt den Inhalt, der aus den verschachtelten ZIP-Archiven extrahiert wurde:

Extrahieren verschachtelter ZIP-Archive in C# .NET

Entpackte verschachtelte Archive

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz für Aspose.ZIP für .NET erhalten, die es Ihnen ermöglicht, die Bibliothek ohne Evaluierungsbeschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie die beste Methode gelernt, um verschachtelte ZIP-Dateien in C# zu entpacken. Die bereitgestellte Schritt-für-Schritt-Anleitung und das Codebeispiel zeigen, wie Sie verschachtelte ZIP-Archive mit dem .NET-Framework effizient handhaben können. Für weitere Erkundungen der Funktionen besuchen Sie gerne die Aspose.ZIP-Dokumentation oder stellen Sie Fragen in unserem Forum.

Siehe auch