using IronZip;
// Create an empty ZIP
using (var archive = new IronZipArchive())
{
// Add files to the ZIP
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP
archive.SaveAs("output.zip");
}
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 mitZIP dateien inC#, unter Verwendung derIronZIP 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
IronZIP in unserem Projekt installieren
Eine ZIP-Datei erstellen
Passwortgeschützte ZIP-Datei erstellen
ZIP-Datei entpacken
Passwortgeschützte ZIP-Datei extrahieren
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. BZIP, *TAR, GZIPundBZIP2. Außerdem unterstützt esPasswortschutzverschlü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:
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.
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.
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 offiziellenIronZIP 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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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:
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
$vbLabelText $csharpLabel
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
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.
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:
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.
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.
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
$vbLabelText $csharpLabel
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
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 grundlegendenKompression undExtraktionund bietet unter anderem folgende FunktionenPasswortschutz, 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.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Zip-Archiv extrahieren in Verzeichnis in C#