Wie man Dateien im Ordner mit C# komprimiert
ZIP-Dateien sind Dateien, die ein oder mehrere komprimierte Dateien oder Ordner im ZIP-Format enthalten. Es ist eine gängige Methode, mehrere Dateien oder Ordner zu komprimieren und in einem einzigen Archiv zu speichern. Diese Methode kann die Datenmenge reduzieren, Speicherplatz sparen und den Dateitransfer über das Internet erleichtern. In diesem Artikel lernen Sie, wie Sie mit ZIP-Dateien in C# mit der IronZIP-Bibliothek arbeiten. Sie erfahren, wie Sie ZIP-Dateien programmgesteuert erstellen, lesen, extrahieren und aktualisieren können, sowie wie Sie verschiedene Funktionen von IronZIP nutzen, wie z. B. Verschlüsselung, Passwortschutz und Komprimierungsstufen. Am Ende dieses Artikels werden Sie in der Lage sein, IronZIP zu verwenden, um ZIP-Dateien in Ihren C#-Anwendungen mühelos zu bearbeiten.
Was wir in diesem Artikel behandeln werden
- IronZIP in unser Projekt integrieren
- Eine ZIP-Datei erstellen
- Eine passwortgeschützte ZIP-Datei erstellen
- ZIP-Datei extrahieren
- Eine passwortgeschützte ZIP-Datei extrahieren
- Auf ein bestehendes ZIP-Archiv zugreifen
Was ist IronZip?
IronZIP ist eine leistungsstarke und vielseitige C# ZIP-Archivbibliothek, die es Ihnen ermöglicht, ZIP-Dateien programmgesteuert zu erstellen, zu lesen und zu extrahieren. Es unterstützt verschiedene Archivformate wie ZIP, TAR, GZIP und BZIP2. Es unterstützt auch Passwortschutz, Verschlüsselung und Komprimierungsstufen. IronZIP ist kompatibel mit .NET 8, 7, 6, Core, Standard und Framework.
IronZIP kann Ihnen helfen, verschiedene Anwendungsfälle und Vorteile der Arbeit mit ZIP-Dateien zu handhaben, wie zum Beispiel:
- Ein Backup-System erstellen: Mit IronZIP können Sie Ihre wichtigen Dateien und Ordner in ein ZIP-Archiv komprimieren und verschlüsseln und diese an einem sicheren Ort speichern. Auf diese Weise können Sie Speicherplatz sparen und Ihre Daten vor unbefugtem Zugriff schützen.
- E-Mail-Anhänge versenden: Mit IronZIP können Sie die Größe Ihrer E-Mail-Anhänge reduzieren, indem Sie diese in eine ZIP-Datei komprimieren. Dadurch vermeiden Sie, die Dateigrößenbeschränkung zu überschreiten und beschleunigen die Übertragung.
- Herunterladen von Dateien aus dem Internet: Mit IronZIP können Sie ZIP-Dateien aus dem Internet herunterladen und extrahieren, z. B. Softwarepakete, Dokumente, Bilder und andere Dateitypen. Dies kann Ihnen helfen, Bandbreite und Zeit zu sparen und die benötigten Dateien einfach zuzugreifen.
Erste Schritte mit IronZIP
Bevor Sie den Code schreiben, müssen Sie das IronZIP NuGet-Paket in Ihrem C#-Projekt installieren. IronZIP ist eine beliebte Komprimierungsbibliothek, die über NuGet verfügbar ist.
Installation der IronZIP-Bibliothek
Um IronZIP zu installieren, können Sie die NuGet-Paket-Manager-Konsole in Visual Studio verwenden. Führen Sie einfach den folgenden Befehl aus:
Install-Package IronZip
Alternativ können Sie das Paket direkt von der offiziellen IronZIP-Website herunterladen. Nach der Installation können Sie direkt loslegen, indem Sie das folgende Namespace am Anfang Ihres C#-Codes hinzufügen.
using IronZip;
using IronZip;
Imports IronZip
Erstellen von C# ZIP-Dateien in einem Ordner
Sie können einfach ZIP-Dateien in einem Ordner mit IronZIP erstellen. Der folgende Code wird alle Dateien aus dem angegebenen Verzeichnis zippen.
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
Imports System
Imports System.IO
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get all files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
' Create a new ZIP archive
Using archive = New IronZipArchive()
' Iterate through each file and add it to the archive
For Each file In fileArray
archive.Add(file) ' Add files to the ZIP
Next file
' Save the archive to a file
archive.SaveAs("myZipFile.zip")
End Using
End Sub
End Class
Der obige C#-Code verwendet die IronZIP-Bibliothek, um alle Dateien in einer einzigen ZIP-Datei zu komprimieren. Der Code führt Folgendes aus:
- Deklariert ein String-Array namens
fileArrayund weist ihm das Ergebnis der MethodeDirectory.GetFileszu, wobei der Pfad des Verzeichnisses ("D:\Docs") als Parameter übergeben wird. Diese Methode gibt ein Array von Strings zurück, das die vollständigen Namen aller Dateien im angegebenen Verzeichnis enthält. - Erzeugt eine neue Instanz der Klasse
IronZipArchive, die ein ZIP-Archiv im Speicher repräsentiert. Die Instanz wird einer Variablen namensarchivezugewiesen und in eineusing-Anweisung eingeschlossen, die sicherstellt, dass das ZIP-Archiv entsorgt wird, wenn der Codeblock endet. - Iteriert über das
fileArrayArray mit einerforeachSchleife und ruft für jede Datei dieAddMethode desarchiveObjekts auf, wobei der Dateiname als Parameter übergeben wird. Diese Methode fügt dem ZIP-Archiv einen neuen Eintrag mit demselben Namen und Inhalt wie die Datei hinzu. - Ruft die Methode
SaveAsdes Objektsarchiveauf und übergibt den Namen der ZIP-Datei ("myZipFile.zip") als Parameter. Diese Methode speichert das ZIP-Archiv auf einer Datei im aktuellen Dateisystem.
Auf diese Weise können Sie mit nur wenigen Codezeilen neue ZIP-Archive erstellen.
Ausgabe
Die Ausgabe ist wie folgt:

Erstellen einer passwortgeschützten ZIP-Datei
IronZIP ermöglicht einfaches Erstellen passwortgeschützter ZIP-Dateien. Das folgende Codebeispiel komprimiert Dateien und erstellt eine neue ZIP-Datei mit einem Passwort.
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
using System;
using System.IO;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Get all files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Docs\");
// Create a new ZIP archive
using (var archive = new IronZipArchive())
{
// Iterate through each file and add it to the archive
foreach (var file in fileArray)
{
archive.Add(file); // Add files to the ZIP
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Save the archive to a file
archive.SaveAs("myZipFile.zip");
}
}
}
Imports System
Imports System.IO
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get all files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
' Create a new ZIP archive
Using archive = New IronZipArchive()
' Iterate through each file and add it to the archive
For Each file In fileArray
archive.Add(file) ' Add files to the ZIP
Next file
' Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256)
' Save the archive to a file
archive.SaveAs("myZipFile.zip")
End Using
End Sub
End Class
Die Zeile archive.Encrypt("myPa55word", EncryptionMethods.AES256); legt mit IronZIP ein Passwort ("myPa55word") für ein ZIP-Archiv fest. Sie erhöht die Sicherheit durch die Anwendung von AES-256-Verschlüsselung auf das Archiv und gewährleistet so, dass nur Benutzer mit dem korrekten Passwort auf dessen Inhalt zugreifen können. Diese Funktion ist wertvoll, um sensible Daten während der Speicherung oder Übertragung innerhalb von C#-Anwendungen zu schützen. Sie müssen den angegebenen Modus des Verschlüsselungsalgorithmus als zweiten Parameter übergeben.
Die Datei wird wie unten gezeigt verschlüsselt.
Ausgabe

Wir haben die Demonstration des Erstellens einer ZIP-Datei gesehen, indem wir durch die Verzeichnisse des angegebenen Pfades geschleift sind. Nun gehen wir zum Beispiel des Entpackens von Dateien über.
Extrahieren von Dateien aus einem ZIP-Archiv
IronZIP bietet eine Methode zum Extrahieren von Dateien aus einem ZIP-Archiv in C#. Das folgende Codebeispiel wird die komprimierte Datei innerhalb eines ZIP-Archivs extrahieren.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
}
}
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract all files from the ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
End Sub
End Class
Der Code IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); verwendet IronZIP , um alle Dateien aus "myZipFile.zip" zu extrahieren und sie im Verzeichnis "myExtractedFiles" abzulegen. Diese prägnante Methode vereinfacht den Prozess der Extrahierung von ZIP-Archiven in C#, indem sie eine praktische Lösung für Dateiextraktionsaufgaben bietet.
Ausgabe
Die Ausgabe ist wie folgt:

Wie man aus einer passwortgeschützten ZIP-Datei extrahiert
IronZIP bietet auch eine Methode, um passwortgeschützte ZIP-Dateien zu extrahieren. Der folgende Code wird die IronZIP-Methode verwenden, um alle vorhandenen Dateien und Verzeichnisse aus der angegebenen ZIP-Datei zu extrahieren.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
}
}
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract all files from the password-protected ZIP archive to the specified directory
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
End Sub
End Class
Die Methode ExtractArchiveToDirectory der Klasse IronZipArchive extrahiert alle Einträge aus einem ZIP-Archiv in ein angegebenes Verzeichnis. Es übergibt drei Argumente an die Methode: den Pfad der ZIP-Datei ("myZipFile.zip"), den Pfad des Zielverzeichnisses ("myExtractedFiles") und das Passwort der ZIP-Datei ("myPa55word").
Auf diese Weise können Sie passwortgeschützte ZIP-Dateien einfach extrahieren.
Wie man auf ein bestehendes Archiv zugreift
IronZIP bietet Methoden, um auf das vorhandene Archiv zuzugreifen und alle im Datei vorhandenen Einträge anzuzeigen.
using System;
using System.Collections.Generic;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive with a password
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get entries list
List<string> names = archive.GetArchiveEntryNames();
// Iterate through each entry name and print it
foreach (string name in names)
{
Console.WriteLine(name);
}
}
}
}
using System;
using System.Collections.Generic;
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive with a password
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get entries list
List<string> names = archive.GetArchiveEntryNames();
// Iterate through each entry name and print it
foreach (string name in names)
{
Console.WriteLine(name);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive with a password
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
' Get entries list
Dim names As List(Of String) = archive.GetArchiveEntryNames()
' Iterate through each entry name and print it
For Each name As String In names
Console.WriteLine(name)
Next name
End Using
End Sub
End Class
Der bereitgestellte C#-Code verwendet IronZIP , um eine sichere IronZipArchive-Instanz zu erstellen, indem eine ZIP-Datei mit dem Namen "myZipFile.zip" und dem Passwort "myPa55word" geladen wird. Geben Sie den Passwortparameter nicht an, wenn die Datei nicht verschlüsselt ist. Es ruft dann die Liste der Eintragsnamen (Datei- und Ordnernamen) im verschlüsselten ZIP-Archiv ab und druckt sie.
Die Methode GetArchiveEntryNames sammelt die Eintragsnamen, und eine Schleife foreach gibt jeden Namen auf der Konsole aus. Dies demonstriert, wie IronZIP einen sicheren Zugriff und die Abfrage von Eintragsinformationen aus passwortgeschützten ZIP-Archiven auf eine prägnante Weise ermöglicht.
Ausgabe

Abschluss
Zusammenfassend erweist sich IronZIP als eine robuste und vielseitige C#-Bibliothek zur Arbeit mit ZIP-Dateien. Seine Fähigkeiten gehen über grundlegende Komprimierung und Extraktion hinaus und bieten Funktionen wie Passwortschutz, Verschlüsselung und Kompatibilität mit verschiedenen Archivformaten. Ob Sie Backup-Systeme erstellen, Email-Anhänge verwalten oder Dateien aus dem Web herunterladen, IronZIP vereinfacht diese Aufgaben mit Einfachheit und Effizienz.
Durch die Integration von IronZIP in Ihre C#-Anwendungen erhalten Sie ein leistungsstarkes Werkzeug für den Umgang mit ZIP-Dateien, verbessern die Datensicherheit und optimieren Dateitransferprozesse. Sie können bei Bedarf von einer kostenlosen Testversion profitieren.
Häufig gestellte Fragen
Wie kann ich eine ZIP-Datei aus einem Ordner in C# erstellen?
Sie können IronZIP verwenden, um eine ZIP-Datei aus einem Ordner zu erstellen, indem Sie durch die Dateien im Verzeichnis iterieren und diese zu einem neuen ZIP-Archiv hinzufügen. Verwenden Sie die IronZipArchive Klasse und rufen Sie die SaveAs Methode auf, um die ZIP-Datei zu speichern.
Wie installiere ich IronZIP in einem C#-Projekt?
Installieren Sie IronZIP in Ihrem C#-Projekt, indem Sie den NuGet-Paket-Manager in Visual Studio verwenden. Führen Sie den Befehl Install-Package IronZip in der Paket-Manager-Konsole aus oder laden Sie es von der offiziellen IronZIP-Website herunter.
Welche Formate unterstützt IronZIP für die ZIP-Dateiverwaltung?
IronZIP unterstützt verschiedene Archivformate, einschließlich ZIP, TAR, GZIP und BZIP2, und bietet Flexibilität für verschiedene Komprimierungs- und Archivierungsbedürfnisse.
Kann ich in C# erstellte ZIP-Dateien verschlüsseln?
Ja, Sie können ZIP-Dateien mit IronZIP verschlüsseln, indem Sie die Encrypt Methode mit AES-256-Verschlüsselung anwenden, um Ihre Daten innerhalb des Archivs zu sichern.
Wie kann ich Dateien aus einer ZIP-Datei in C# extrahieren?
Um Dateien aus einem ZIP-Archiv mit IronZIP zu extrahieren, verwenden Sie die ExtractArchiveToDirectory Methode und geben Sie die Quell-ZIP-Datei sowie das Zielverzeichnis an.
Ist es möglich, passwortgeschützte ZIP-Dateien in C# zu bearbeiten?
Ja, Sie können passwortgeschützte ZIP-Dateien mit IronZIP bearbeiten, indem Sie das Passwort angeben, wenn Sie Methoden wie ExtractArchiveToDirectory verwenden, um die Inhalte sicher zuzugreifen.
Welche Vorteile bietet die Verwendung von IronZIP für die Verwaltung von ZIP-Dateien?
IronZIP vereinfacht Aufgaben wie Datensicherung, E-Mail-Anhangsverwaltung und Web-Downloads, indem es Funktionen wie Verschlüsselung, Passwortschutz und Unterstützung für mehrere Archivformate bietet.
Unterstützt IronZIP .NET 8 und andere Versionen?
IronZIP ist kompatibel mit .NET 8, 7, 6, Core, Standard und Framework und somit flexibel für die Integration in verschiedene C#-Projekte.
Wie können Entwickler auf eine Testversion von IronZIP zugreifen?
Entwickler können auf eine kostenlose Testversion von IronZIP zugreifen, indem sie den Lizenz- oder Download-Bereich der IronZIP-Website besuchen, um seine Funktionen zu evaluieren.
Was ist der Vorteil der Verwendung von ZIP-Dateien für die Datenübertragung?
ZIP-Dateien sind für die Datenübertragung vorteilhaft, da sie die Dateigröße reduzieren, Speicherplatz sparen und es einfacher machen, mehrere Dateien effizient über das Internet zu versenden.




