
Beim Umgang mit ZIP-Archiven können Sie auf eine Situation stoßen, in der eine ZIP-Datei andere ZIP-Dateien enthält, was zu einer verschachtelten Struktur führt. Wenn Ihr Ziel darin besteht, dies zu optimieren, indem Sie alle inneren ZIP-Archive in das äußere Archiv extrahieren, sind Sie hier genau richtig. In diesem Artikel werden wir erforschen, wie man ein flaches ZIP-Archiv in C# erstellt unter Verwendung des leistungsstarken Aspose.ZIP für .NET.
Inhaltsverzeichnis
- Überblick über die .NET-API zum Erstellen flacher ZIP-Archive
- Schritte zum Erstellen eines flachen ZIP-Archivs
- Kostenlose API-Lizenz erhalten
- Fazit
- Siehe auch
Überblick über die .NET-API zum Erstellen flacher ZIP-Archive
Um flache ZIP-Archive zu erstellen, verwenden wir die Aspose.ZIP für .NET Bibliothek. Diese robuste Archivierungs-API ermöglicht es Ihnen, verschiedene Archivformate zu erstellen und zu extrahieren, einschließlich ZIP, TAR, GZip und 7z. Sie können diese Bibliothek einfach von NuGet installieren oder ihre DLL aus dem Download-Bereich herunterladen.
PM> Install-Package Aspose.Zip
Schritte zum Erstellen eines flachen ZIP-Archivs in C#
Um die Struktur eines flachen ZIP-Archivs besser zu verstehen, betrachten Sie das folgende Beispiel. Zunächst haben wir ein ZIP-Archiv, das ein anderes ZIP-Archiv enthält:
parent.zip
├ first.txt
├ inner.zip
│ ├ game.exe
│ └ subitem.bin
└ picture.gif
Nachdem wir dieses ZIP-Archiv in eine flache Struktur umgewandelt haben, werden alle Einträge aus der inneren ZIP in die übergeordnete ZIP extrahiert, was zur folgenden Struktur führt:
flatten.zip
├ first.txt
├ picture.gif
├ game.exe
└ subitem.bin
Implementierungsschritte
So erstellen Sie programmgesteuert ein flaches ZIP-Archiv in C#:
- Laden Sie das übergeordnete ZIP-Archiv: Verwenden Sie die Archive Klasse, um das übergeordnete ZIP zu laden.
- Listen initialisieren: Erstellen Sie Listen, um zu speichern:
- Einträge, die aus dem übergeordneten ZIP gelöscht werden sollen
- Extrahierte Einträge und deren Namen
- Durchlaufen Sie die Archiv-Einträge: Schleifen Sie durch jeden ArchiveEntry im übergeordneten ZIP mit der Archive.Entries Sammlung.
- Verarbeiten Sie jeden Eintrag:
- Überprüfen Sie, ob der Eintrag ein ZIP-Archiv ist, mit
ArchiveEntry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase)
. - Wenn ja, fügen Sie ihn der Liste der zu löschenden Einträge hinzu.
- Öffnen Sie den Eintrag in ein MemoryStream Objekt mit
ArchiveEntry.Open().CopyTo(MemoryStream)
. - Durchlaufen Sie die Einträge des inneren ZIP-Archivs und führen Sie Folgendes aus:
- Fügen Sie den Namen jedes Eintrags der Liste der hinzuzufügenden Einträge hinzu.
- Laden Sie jeden Eintrag in einen
MemoryStream
mitArchiveEntry.Open().CopyTo(MemoryStream)
. - Fügen Sie den Eintrag der Liste der hinzuzufügenden Einträge zum übergeordneten ZIP hinzu.
- Überprüfen Sie, ob der Eintrag ein ZIP-Archiv ist, mit
- Löschen Sie die inneren ZIP-Einträge: Schleifen Sie durch die Liste der inneren ZIP-Archive und löschen Sie jeden Eintrag mit der Archive.DeleteEntry(ArchiveEntry) Methode.
- Fügen Sie neue Einträge zum übergeordneten ZIP hinzu: Schleifen Sie durch die Liste der hinzuzufügenden Einträge und fügen Sie jeden Eintrag mit der Archive.CreateEntry(String, Stream) Methode hinzu.
- Speichern Sie das übergeordnete ZIP-Archiv: Schließlich speichern Sie das modifizierte übergeordnete ZIP-Archiv mit der Archive.Save(String) Methode.
Hier ist ein Codebeispiel, das zeigt, wie man ein flaches ZIP-Archiv in C# erstellt:
Kostenlose API-Lizenz erhalten
Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.ZIP für .NET ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Tutorial haben Sie gelernt, wie man effizient ein flaches ZIP-Archiv mit C# erstellt. Wir haben den Prozess des Extrahierens innerer ZIP-Archive in das übergeordnete ZIP demonstriert und damit effektiv verschachtelte Ordner vermieden. Für weitere Informationen können Sie die Aspose.ZIP für .NET-Dokumentation einsehen oder uns über unser Forum kontaktieren.
Siehe auch
- Dateien oder Ordner zu ZIP-Archiven in C# hinzufügen
- Dateien in ZIP-Archiven mit C# entpacken
- Mehrere ZIP- oder TAR-Archive in C# zusammenführen
- Erstellen eines ausführbaren selbstextrahierenden Archivs in C#
Indem Sie diese Schritte befolgen, können Sie C# flache ZIP-Dateikompression in Ihren Anwendungen einfach implementieren und ein einzelnes ZIP-Archiv erstellen, das sowohl effizient als auch einfach zu verwalten ist.