Zum Fußzeileninhalt springen
NUTZUNG VON IRONZIP

Wie man ZIP-Archiv in C# in ein Verzeichnis extrahiert

ZIP-Dateien dienen als bequeme Möglichkeit, mehrere Dateien und Verzeichnisse zu einem einzigen Archiv zu bündeln. Egal, ob Sie Backups verwalten, Software verteilen oder Dateien teilen, die effiziente Extraktion aus ZIP-Archiven ist entscheidend. IronZIP, a powerful .NET-Bibliothek, vereinfacht diesen Prozess, indem es einfache Methoden bereitstellt.

Wie man ein ZIP-Archiv in ein Verzeichnis extrahiert in C#

  1. Installieren Sie die IronZIP-Bibliothek in Ihrem Projekt.
  2. Verwenden Sie die ExtractArchiveToDirectory()-Methode, die von IronZIP bereitgestellt wird.
  3. Geben Sie den Pfad zu Ihrer ZIP-Datei (z.B. "output.zip") und das Ziel-Extraktionsverzeichnis (z.B. "extracted") an.

Was ist IronZIP?

IronZIP ist eine vielseitige C#-Bibliothek, die ZIP-Dateien innerhalb von .NET-Anwendungen verarbeitet. Whether you’re building desktop software, web applications, or automation tools, IronZIP simplifies creating, reading, and extracting ZIP archives.

Hauptmerkmale

Hohe Leistung: IronZIP hat eine leistungsstarke Engine zum Komprimieren und Dekomprimieren von Dateien, wodurch es schnell und ressourcenschonend ist.

Benutzerfreundlichkeit: Entwickler können IronZIP nahtlos in ihre Projekte integrieren. Die Bibliothek bietet einfache Methoden zum Arbeiten mit ZIP-Dateien.

NuGet-Integration: Installieren Sie IronZIP über den NuGet Package Manager, um es für Ihre C#-Lösung zum Extrahieren von Ziparchiven in ein Verzeichnis verfügbar zu machen.

Plattformübergreifende Kompatibilität: IronZIP unterstützt verschiedene Plattformen, einschließlich Windows, Linux und macOS.

Documentation and Tutorials: Explore the official documentation and tutorials to learn how to leverage IronZIP effectively.

IronZIP bietet Entwicklern eine zuverlässige und effiziente Lösung, egal ob Sie Dateien zur Verteilung zippen, Backups verwalten oder Datenarchive erstellen.

Ein ZIP-Archiv in ein Verzeichnis extrahieren

Bevor wir beginnen, müssen wir die IronZIP-Library in unser Projekt installieren. Wir können es mit der folgenden Befehl im NuGet Package Manager Console hinzufügen:

Install-Package IronZip

Der obige Befehl installiert die IronZIP-Library zusammen mit den erforderlichen Abhängigkeiten in unserem Projekt.

Alternativ können Sie es auch über den NuGet Package Manager für die Lösung herunterladen, indem Sie nach "IronZIP" suchen.

Fügen Sie die erforderlichen using-Anweisungen in Ihren Code ein:

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
$vbLabelText   $csharpLabel

Extrahieren Sie die ZIP-Datei in das angegebene Verzeichnis

IronZIP vereinfacht den Prozess der Extraktion eines ZIP-Archivs in ein Verzeichnis. Wir können Dateien mit nur einer einzigen Codezeile extrahieren. Der folgende Code extrahiert alle Dateien im angegebenen Pfad.

internal class Program
{
    static void Main(string[] args)
    {
        IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
	End Sub
End Class
$vbLabelText   $csharpLabel

Die obige Codezeile extrahiert den Inhalt der "Contracts.zip"-Datei und platziert ihn in einem Zielordner namens "Contracts". Es ist eine bequeme Möglichkeit, mit ZIP-Archiven programmatisch in C#-Anwendungen umzugehen.

Erklärung

  1. IronZipArchive: Dies ist eine Klasse aus der IronZIP-Library. Es bietet Methoden und Eigenschaften zum Arbeiten mit ZIP-Dateien.
  2. .ExtractArchiveToDirectory("Contracts.zip", "Contracts"):
    1. Die Methode ExtractArchiveToDirectory wird bei IronZipArchive aufgerufen.
    2. Das erste Argument, "Contracts.zip", stellt den Pfad zur ZIP-Datei dar, die Sie extrahieren möchten.
    3. Das zweite Argument, "Contracts", gibt das Zielverzeichnis an, in dem die extrahierten Dateien abgelegt werden.

Wenn die Dateien bereits in einem angegebenen Verzeichnis vorhanden sind, werden vorhandene Dateien überschrieben. Die extrahierte Datei sieht folgendermaßen aus:

Wie man ein ZIP-Archiv in ein Verzeichnis in C#: Abbildung 1 - Dateisystem

Password-geschütztes ZIP-Archiv extrahieren

IronZIP bietet auch eine Methode zum Extrahieren von passwortgeschützten komprimierten Dateien. Das folgende Beispiel extrahiert die Dateien aus einer passwortgeschützten ZIP-Datei.

IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip")
$vbLabelText   $csharpLabel

Der obige Code extrahiert den Inhalt einer passwortgeschützten ZIP-Datei namens "PasswordProtectedContracts.zip" und platziert ihn in einem Verzeichnis namens "Contracts". Das angegebene Passwort sorgt für eine sichere Extraktion der geschützten ZIP-Datei.

Zugriff auf vorhandenes Archiv

IronZIP ermöglicht den Zugriff auf vorhandene ZIP-Dateien, ohne sie aus einem angegebenen Verzeichnis zu extrahieren. Diese Funktionalität ist wichtig für Szenarien wie das Extrahieren von Dateien aus komprimierten Archiven, das Überprüfen der Existenz spezifischer Einträge oder das dynamische Inspektieren des Inhalts von ZIP-Dateien als Reaktion auf Benutzerinteraktionen.

Einträge des ZIP-Archivs anzeigen

Das folgende Codebeispiel greift auf die vorhandene ZIP-Datei zu und druckt deren Einträge in die Konsole.

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    // Get Entries list
    List<string> names = zipArchive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name); // Print the name of each entry
    }
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    // Get Entries list
    List<string> names = zipArchive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name); // Print the name of each entry
    }
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	' Get Entries list
	Dim names As List(Of String) = zipArchive.GetArchiveEntryNames()
	For Each name As String In names
		Console.WriteLine(name) ' Print the name of each entry
	Next name
End Using
$vbLabelText   $csharpLabel

Der obige Code verwendet IronZIP, um zu überprüfen, was sich in einer ZIP-Datei namens "Contracts.zip" befindet. Es erstellt ein IronZipArchive-Objekt, um eine Liste von Eintragsnamen (wie Dateinamen) aus dem Archiv mit der GetArchiveEntryNames-Methode zu erhalten. Wenn die ZIP-Datei passwortgeschützt ist, können Sie das Passwort beim Erstellen des IronZipArchive-Objekts angeben. Der Code gibt dann jeden Dateinamen in die Konsole aus.

Auf diese Weise können wir mit spezifischen Einträgen in einem komprimierten Archiv arbeiten.

Das Ergebnis ist wie folgt:

Wie man ein ZIP-Archiv in ein Verzeichnis in C#: Abbildung 2 - ZIP-Archiv-Einträge Ausgabe

Prüfen, ob der angegebene Eintrag in der ZIP-Datei existiert

Wir können auch überprüfen, ob der angegebene Eintrag in der angegebenen ZIP-Datei vorhanden ist. Der folgende Code zeigt die Demonstration.

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    if (zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
    {
        Console.WriteLine("File Exist");
    }
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    if (zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
    {
        Console.WriteLine("File Exist");
    }
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then
		Console.WriteLine("File Exist")
	End If
End Using
$vbLabelText   $csharpLabel

Der obige Code verwendet die IronZIP-Bibliothek, um zu überprüfen, ob eine Datei namens "Contracts.zip" einen Eintrag namens "Contract1.pdf" enthält. Dazu wird ein IronZipArchive-Objekt für die ZIP-Datei erstellt. Im Codeblock gibt es eine "if"-Anweisung, die prüft, ob "Contract1.pdf" in der ZIP-Datei existiert. Wenn dies der Fall ist, druckt es "Datei existiert" in die Konsole. Einfacher ausgedrückt, hilft Ihnen dieser Code zu bestätigen, ob sich eine bestimmte Datei in einer ZIP-Datei befindet, und wenn ja, benachrichtigt er Sie darüber.

Wie man ein ZIP-Archiv in ein Verzeichnis in C#: Abbildung 3 - Überprüfung der Dateiexistenz Ausgabe

Eintrag aus vorhandener ZIP-Datei löschen

IronZIP bietet eine Methode zum Löschen von Einträgen aus einer ZIP-Datei. Der folgende Code wird eine Datei aus einem bestehenden ZIP löschen.

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	zipArchive.DeleteArchiveEntry("Contract1.pdf")
End Using
$vbLabelText   $csharpLabel

Der obige Code demonstriert, wie man IronZIP verwendet, um einen Eintrag aus einem ZIP-Archiv namens "Contracts.zip" zu löschen. Innerhalb des using-Blocks wird die angegebene Datei namens "Contract1.pdf" aus dem Archiv entfernt. Diese Operation sorgt für ein effizientes Management von ZIP-Dateien in C#-Anwendungen.

Abschluss

Zusammenfassend erweist sich IronZIP als wertvolles Werkzeug für C#-Entwickler und vereinfacht den Umgang mit ZIP-Dateien in verschiedenen Szenarien, ob es Dateien extrahiert für den geschäftlichen Gebrauch.

Häufig gestellte Fragen

Wie kann ich eine ZIP-Datei in ein Verzeichnis in C# extrahieren?

Sie können die Methode ExtractArchiveToDirectory() der IronZIP-Bibliothek verwenden, um eine ZIP-Datei in ein bestimmtes Verzeichnis zu extrahieren. Geben Sie einfach den Pfad zu Ihrer ZIP-Datei und das Ziel-Extraktionsverzeichnis an.

Kann ich passwortgeschützte ZIP-Dateien mit einer C#-Bibliothek extrahieren?

Ja, mit IronZIP können Sie passwortgeschützte ZIP-Dateien extrahieren, indem Sie das Passwort als zusätzlichen Parameter an die Methode ExtractArchiveToDirectory() übergeben.

Wie installiere ich eine Bibliothek zur Verwaltung von ZIP-Dateien in einem C#-Projekt?

Sie können die IronZIP-Bibliothek über die NuGet Package Manager-Konsole mit dem Befehl Install-Package IronZIP installieren oder indem Sie 'IronZIP' im NuGet-Paketmanager für die Lösung durchsuchen.

Welche Methoden kann ich verwenden, um ZIP-Einträge anzusehen, ohne sie zu extrahieren?

IronZIP ermöglicht es Ihnen, Einträge eines ZIP-Archivs ohne Extraktion anzusehen, indem Sie die Methode GetArchiveEntryNames() verwenden, die alle Einträge innerhalb des Archivs auflistet.

Ist es möglich, in einem ZIP-Archiv in C# nach bestimmten Dateien zu suchen?

Ja, Sie können überprüfen, ob ein bestimmter Eintrag in einer ZIP-Datei mit der Methode CheckArchiveEntryExist() von IronZIP existiert.

Wie kann ich eine Datei aus einem ZIP-Archiv in C# löschen?

Um eine Datei aus einem ZIP-Archiv mit IronZIP zu löschen, verwenden Sie die Methode DeleteArchiveEntry() an einem IronZipArchive-Objekt für die angegebene Datei.

Welche Plattformen unterstützen die Verwaltung von ZIP-Dateien mit dieser C#-Bibliothek?

IronZIP unterstützt die Verwaltung von ZIP-Dateien auf verschiedenen Plattformen, einschließlich Windows, Linux und macOS, und gewährleistet so plattformübergreifende Kompatibilität.

Was sind die Vorteile der Verwendung der IronZIP-Bibliothek zur Verwaltung von ZIP-Dateien?

IronZIP bietet hohe Leistung, Benutzerfreundlichkeit, plattformübergreifende Kompatibilität und nahtlose NuGet-Integration sowie umfassende Dokumentation und Tutorials für Entwickler.

Wo finde ich Tutorials zur Verwaltung von ZIP-Dateien in C#?

Offizielle Dokumentation und Tutorials für IronZIP finden Sie auf deren Website, die ausführliche Anleitungen zur Verwendung der Bibliothek zur Verwaltung von ZIP-Dateien bietet.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen