IRONZIP VERWENDEN

Wie man Dateien in Ordner mit C# Zip

Veröffentlicht 18. Februar 2024
Teilen Sie:

ZIP-Dateien sind Dateien, die eine oder mehrere komprimierte Dateien oder Ordner enthalten und das ZIP-Format verwenden. Es ist eine gängige Methode zur Komprimierung und Archivierung von mehreren Dateien oder Ordnern in einer einzigen Datei. Sie können die Größe der Daten reduzieren, Speicherplatz sparen und die Übertragung von Dateien über das Internet erleichtern. In diesem Artikel erfahren Sie, wie Sie mit ZIP dateien in C#, unter Verwendung der IronZIP bibliothek. Sie erfahren, wie Sie ZIP-Dateien programmgesteuert erstellen, lesen, extrahieren und aktualisieren können und wie Sie verschiedene Funktionen von IronZIP, wie z. B. Verschlüsselung, Passwortschutz und Komprimierungsstufen, nutzen können. Am Ende dieses Artikels werden Sie in der Lage sein, IronZIP zu verwenden, um ZIP-Dateien in Ihren C#-Anwendungen problemlos zu verarbeiten.

Was wir in diesem Artikel behandeln werden

  1. IronZIP in unserem Projekt installieren

  2. Eine ZIP-Datei erstellen

  3. Passwortgeschützte ZIP-Datei erstellen

  4. ZIP-Datei entpacken

  5. Passwortgeschützte ZIP-Datei extrahieren

  6. Zugriff auf vorhandenes ZIP-Archiv

Was ist IronZIP?

IronZIP ist eine leistungsstarke und vielseitige C#-ZIP-Archivbibliothek, mit der Sie programmgesteuert ZIP-Dateien erstellen, lesen und extrahieren können. Es unterstützt verschiedene Archivformate, wie z. B ZIP, *TAR, GZIPund BZIP2. Außerdem unterstützt es Passwortschutzverschlüsselungs- und Komprimierungsstufen. IronZIP ist mit .NET 8, 7, 6, Core, Standard und Framework kompatibel.

IronZIP unterstützt Sie bei der Handhabung verschiedener Anwendungsfälle und Vorteile der Arbeit mit ZIP-Dateien, z. B:

  1. Erstellung eines Backup-Systems: Sie können IronZIP verwenden, um Ihre wichtigen Dateien und Ordner in einem ZIP-Archiv zu komprimieren und zu verschlüsseln und an einem sicheren Ort zu speichern. Auf diese Weise können Sie Speicherplatz sparen und Ihre Daten vor unbefugtem Zugriff schützen.

  2. Versenden von E-Mail-Anhängen: Sie können IronZIP verwenden, um die Größe Ihrer E-Mail-Anhänge zu reduzieren, indem Sie sie in eine ZIP-Datei komprimieren. Auf diese Weise können Sie das Überschreiten der Dateigrößengrenze vermeiden und den Übertragungsprozess beschleunigen.

  3. Herunterladen von Dateien aus dem Internet: Sie können IronZIP verwenden, um ZIP-Dateien aus dem Internet herunterzuladen und zu extrahieren, z. B. Softwarepakete, Dokumente, Bilder und andere Dateitypen. So können Sie Bandbreite und Zeit sparen und problemlos auf die benötigten Dateien zugreifen.

Erste Schritte mit IronZIP

Bevor Sie den Code schreiben, müssen Sie das IronZIP NuGet-Paket für unser C#-Projekt installieren. IronZIP ist eine beliebte Kompressionsbibliothek, die über NuGet verfügbar ist.

Installieren der IronZIP-Bibliothek

Zur Installation von IronZIP können Sie die NuGet-Paketmanager-Konsole in Visual Studio verwenden. Führen Sie einfach den folgenden Befehl aus:

Install-Package IronZip

Alternativ können Sie das Paket auch direkt von der offiziellen IronZIP website. Nach der Installation können Sie beginnen, indem Sie den folgenden Namespace am Anfang Ihres C#-Codes hinzufügen.

using IronZip;
using IronZip;
Imports IronZip
VB   C#

Erstellen von C# ZIP-Dateien in Ordnerdatei

Mit IronZIP können wir ganz einfach ZIP-Dateien in einem Ordner erstellen. Mit dem folgenden Code werden alle Dateien aus dem angegebenen Verzeichnis gepackt.

static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
	Using archive = New IronZipArchive()
		For Each file In fileArray
			' Add files to the ZIP
			archive.Add(file)
		Next file
		' Export the ZIP
		archive.SaveAs("myZipFile.zip")
	End Using
End Sub
VB   C#

Der obige C#-Code verwendet die IronZIP-Bibliothek, um alle Dateien in eine einzige ZIP-Datei zu komprimieren. Der Code geht folgendermaßen vor:

  • Wir haben ein String-Array namens fileArray deklariert und ihm das Ergebnis der Methode Directory.GetFiles zugewiesen, wobei wir den Pfad des Verzeichnisses ("D:\Docs") als Parameter. Diese Methode gibt ein Array von Strings zurück, das die vollständigen Namen aller Dateien im angegebenen Verzeichnis enthält.
  • Wir haben eine neue Instanz der Klasse IronZipArchive erstellt, die ein ZIP-Archiv im Speicher darstellt. Die Instanz wird einer Variablen namens archive zugewiesen und in eine using-Anweisung eingeschlossen, die sicherstellt, dass das ZIP-Archiv am Ende des Codeblocks entsorgt wird.
  • Anschließend wird das Array fileArray in einer foreach-Schleife durchlaufen, und für jede Datei wird die Methode Add des Archivobjekts aufgerufen, wobei der Dateiname als Parameter übergeben wird. Diese Methode fügt einen neuen Eintrag in das ZIP-Archiv ein, der denselben Namen und Inhalt wie die Datei hat.
  • Zuletzt haben wir die SaveAs-Methode des Archivobjekts aufgerufen und dabei den Namen der ZIP-Datei übergeben ("meineZipDatei.zip") als Parameter. Diese Methode speichert das ZIP-Archiv in einer Datei im aktuellen Dateisystem.

    Auf diese Weise können wir mit nur wenigen Codezeilen problemlos neue Zip-Archive erstellen.

Ausgabe

Die Ausgabe ist wie folgt:

Wie man mit C# Dateien in einem Ordner komprimiert: Abbildung 1 - Ausgabedateien aus dem vorherigen Codebeispiel

Passwortgeschützte ZIP-Datei erstellen

IronZIP bietet die einfachste Methode zur Erstellung passwortgeschützter ZIP-Dateien. Das folgende Codebeispiel komprimiert Dateien und erstellt eine neue ZIP-Datei mit einem Kennwort.

using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
Using archive = New IronZipArchive()
	 For Each file In fileArray
		 ' Add files to the ZIP
		 archive.Add(file)
	 Next file
	' Set Password and Encryption Method
	 archive.Encrypt("myPa55word", EncryptionMethods.AES256)
	 ' Export the ZIP
	 archive.SaveAs("myZipFile.zip")
End Using
VB   C#

Die Zeile archive.Encrypt("meinPa55Wort", EncryptionMethods.AES256); legt ein Passwort fest ("myPa55word") für ein ZIP-Archiv mit IronZIP. Es erhöht die Sicherheit, indem es das Archiv mit AES-256 verschlüsselt und sicherstellt, dass nur Benutzer mit dem richtigen Passwort auf den Inhalt zugreifen können. Diese Funktion ist wertvoll für den Schutz sensibler Daten während der Speicherung oder Übertragung in C#-Anwendungen. Im zweiten Parameter müssen wir den angegebenen Modus des Verschlüsselungsalgorithmus übergeben.

Die Datei wird wie unten dargestellt verschlüsselt.

Ausgabe

Wie man mit C# Dateien in einem Ordner verschlüsselt: Abbildung 2 - Ausgegebene verschlüsselte Datei aus dem vorherigen Codebeispiel

Wir haben gesehen, wie man eine ZIP-Datei erstellt, indem man eine Schleife durch die Verzeichnisse des angegebenen Pfades zieht. Kommen wir nun zu dem Beispiel des Entpackens von Dateien.

Extrahieren von Dateien aus einem ZIP-Archiv

IronZIP bietet eine Methode zum Extrahieren von Dateien aus einem ZIP-Archiv C#. Das folgende Codebeispiel extrahiert die komprimierte Datei in einem ZIP-Archiv.

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
VB   C#

Der Code IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); extrahiert mit IronZIP alle Dateien aus "myZipFile.zip" und legt sie im Verzeichnis "myExtractedFiles" ab. Diese prägnante Methode vereinfacht den Prozess der Extraktion von ZIP-Archiven in C# und bietet eine bequeme Lösung für Dateiextraktionsaufgaben.

Ausgabe

Die Ausgabe sieht folgendermaßen aus:

Wie man mit C# Dateien in einem Ordner komprimiert: Abbildung 3 - Ausgegebene Dateien aus dem vorherigen Codebeispiel

Extrahieren aus einer passwortgeschützten ZIP-Datei

IronZIP bietet auch eine Methode zum Extrahieren passwortgeschützter ZIP-Dateien. Der folgende Code verwendet die IronZIP-Methode, um alle vorhandenen Dateien und Verzeichnisse aus der angegebenen ZIP-Datei zu extrahieren.

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
VB   C#

Die Methode ExtractArchiveToDirectory der Klasse IronZipArchive extrahiert alle Einträge aus einem ZIP-Archiv in ein angegebenes Verzeichnis. Sie übergibt drei Argumente an die Methode: den Pfad der ZIP-Datei ("meineZipDatei.zip")den Pfad des Zielverzeichnisses ("myExtractedFiles")und das Passwort der ZIP-Datei ("myPa55word").

Auf diese Weise können wir passwortgeschützte Zip-Dateien leicht entpacken.

So greifen Sie auf ein vorhandenes Archiv zu

IronZIP bietet Methoden für Zugriff auf das vorhandene Archiv und sehen Sie sich alle Einträge in der Datei an.

using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
	' Get Entries list
	Dim names As List(Of String) = archive.GetArchiveEntryNames()
	For Each name As String In names
		Console.WriteLine(name)
	Next name
End Using
VB   C#

Der bereitgestellte C#-Code verwendet IronZIP, um eine sichere IronZipArchive-Instanz zu erstellen, indem eine ZIP-Datei mit dem Namen "myZipFile.zip" und dem Kennwort "myPa55word" geladen wird. Übergeben Sie den Parameter password nicht, wenn die Datei nicht verschlüsselt ist. Anschließend wird die Liste der Eintragsnamen abgerufen und ausgedruckt (datei- und Ordnernamen) innerhalb des verschlüsselten ZIP-Archivs.

Die Methode GetArchiveEntryNames sammelt die Namen der Einträge, und eine for-each-Schleife gibt jeden Namen auf der Konsole aus. Dies zeigt, wie IronZIP den sicheren Zugriff und das Abrufen von Eingabedaten aus passwortgeschützten Zip-Archiven auf übersichtliche Weise ermöglicht.

Ausgabe

Wie man mit C# Dateien in einem Ordner komprimiert: Abbildung 4 - Ausgabe des vorherigen Codebeispiels

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass IronZIP eine robuste und vielseitige C#-Bibliothek für die Arbeit mit ZIP-Dateien ist. Seine Möglichkeiten gehen über die grundlegenden Kompression und Extraktionund bietet unter anderem folgende Funktionen Passwortschutz, Verschlüsselung und Kompatibilität mit verschiedenen Archivformaten. Ganz gleich, ob Sie Sicherungssysteme erstellen, E-Mail-Anhänge verwalten oder Dateien aus dem Internet herunterladen, IronZIP rationalisiert diese Aufgaben mit Einfachheit und Effizienz.

Durch die Integration von IronZIP in Ihre C#-Anwendungen erhalten Sie ein leistungsfähiges Tool für den Umgang mit ZIP-Dateien, die Verbesserung der Datensicherheit und die Optimierung von Dateiübertragungsprozessen. Sie können von einer kostenlosen *Versuch je nach Bedarf.

< PREVIOUS
Zip-Archiv extrahieren in Verzeichnis in C#
NÄCHSTES >
Extrahieren von Zip-Dateien in VB .NET

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 5,153 Lizenzen anzeigen >