ZIP in C# erstellen

Einführung in ZIP-Archive in C#

ZIP-Archive sind entscheidend für die Komprimierung und Organisation von Dateien und Ordnern in einem einzigen, handhabbaren Container. Sie reduzieren nicht nur die Dateigrößen für eine effiziente Speicherung und Übertragung, sondern bewahren auch Metadaten und können zur zusätzlichen Sicherheit verschlüsselt werden. In diesem Artikel werden wir verschiedene Methoden zur programmgesteuerten Erstellung von ZIP-Dateien in C# untersuchen, einschließlich der Hinzufügung von Dateien und Ordnern, der Erstellung passwortgeschützter Archive und der Anwendung von AES-Verschlüsselung.

Was Sie lernen werden

In diesem Artikel erfahren Sie, wie Sie:

C# ZIP-Bibliothek

Die Aspose.ZIP für .NET-Bibliothek ist ein robustes Werkzeug zur Handhabung von ZIP-Dateioperationen innerhalb von .NET-Anwendungen, das das Zippen oder Entzippen von Dateien und Ordnern erleichtert. Sie unterstützt auch AES-Verschlüsselung für verbesserte Sicherheit. Sie können diese Bibliothek einfach von NuGet installieren oder die Binärdateien im Downloads-Bereich herunterladen.

Erstellen eines ZIP-Archivs in C#

Um programmgesteuert eine ZIP-Datei in C# zu erstellen, befolgen Sie diese Schritte:

  1. Erstellen Sie ein FileStream-Objekt für das Ausgab ZIP-Archiv.
  2. Öffnen Sie die Quelldatei als FileStream-Objekt.
  3. Instanziieren Sie die Archive-Klasse.
  4. Fügen Sie die Datei mit der Archive.CreateEntry(string, FileStream)-Methode zum Archiv hinzu.
  5. Speichern Sie das ZIP-Archiv mit der Archive.Save(FileStream)-Methode.

Hier ist ein Codebeispiel, das zeigt, wie Sie eine Datei zu einem ZIP-Archiv in C# hinzufügen:

Mehrere Dateien zu einem ZIP-Archiv in C# hinzufügen

Wenn Sie mehrere Dateien zu einem ZIP-Archiv hinzufügen müssen, gibt es mehrere Ansätze, die Sie verfolgen können:

Verwenden von FileStream zum Hinzufügen mehrerer Dateien

Diese Methode verwendet die FileStream-Klasse, um Dateien über die Archive.CreateEntry(String, FileStream)-Methode zum ZIP-Archiv hinzuzufügen. So können Sie es machen:

Verwenden von FileInfo für mehrere Dateien

Alternativ können Sie die FileInfo-Klasse verwenden, um Dateien zu laden und sie mit der Archive.CreateEntry(String, FileInfo)-Methode zum ZIP-Archiv hinzuzufügen. Unten ist ein Codebeispiel:

Verwenden von Dateipfaden

Sie können auch direkt die Dateipfade an die Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings)-Methode übergeben. Hier ist ein Beispiel:

Ordner zu einem ZIP-Archiv in C# hinzufügen

Um einen Ordner zu einem ZIP-Archiv in C# hinzuzufügen, befolgen Sie diese Schritte:

  1. Erstellen Sie ein FileStream-Objekt für das Ausgab ZIP-Archiv.
  2. Instanziieren Sie die Archive-Klasse.
  3. Verwenden Sie die DirectoryInfo-Klasse, um den Ordner anzugeben, den Sie zippen möchten.
  4. Fügen Sie den Ordner mit der Archive.CreateEntries(DirectoryInfo)-Methode zum ZIP hinzu.
  5. Speichern Sie das ZIP-Archiv mit der Archive.Save(FileStream)-Methode.

Hier ist ein Codebeispiel, das zeigt, wie Sie einen Ordner zu einer ZIP-Datei hinzufügen:

Erstellen eines passwortgeschützten ZIPs mit ZipCrypto in C#

Um Ihre ZIP-Archive zu sichern, können Sie einen Passwortschutz mit ZipCrypto-Verschlüsselung anwenden. Dies wird erreicht, indem Sie die ArchiveEntrySettings-Klasse im Konstruktor der Archive verwenden, die den Verschlüsselungstyp als Parameter akzeptiert.

So erstellen Sie ein passwortgeschütztes ZIP-Archiv mit ZipCrypto in C#:

Erstellen eines passwortgeschützten ZIPs mit AES-Verschlüsselung

Die Aspose.ZIP für .NET-Bibliothek unterstützt ebenfalls AES-Verschlüsselung zum Schutz von ZIP-Archiven. Sie können aus den folgenden AES-Verschlüsselungsmethoden wählen:

  • AES128
  • AES192
  • AES256

Um AES-Verschlüsselung anzuwenden, verwenden Sie die AesEcryptionSettings-Klasse. Unten ist ein Codebeispiel, das zeigt, wie Sie ein passwortgeschütztes ZIP mit AES-Verschlüsselung in C# erstellen:

Parallelkomprimierungsmodus festlegen

Für die effiziente Handhabung mehrerer Einträge können Sie die API für die parallele Komprimierung mit der ParallelOptions-Klasse konfigurieren. Die verfügbaren parallelen Komprimierungsmodi sind:

  • Nie - Nicht parallel komprimieren.
  • Immer - Parallel komprimieren (Achtung vor möglichen Speicherproblemen).
  • Auto - Automatisch entscheiden, ob parallele Komprimierung basierend auf den Einträgen verwendet werden soll.

So legen Sie den parallelen Komprimierungsmodus fest, während Sie mehrere Dateien mit der Aspose C# ZIP-Bibliothek zippen:

Erfahren Sie mehr über die C# .NET ZIP-Bibliothek

Um Ihr Verständnis der C# ZIP-Bibliothek zu vertiefen, erkunden Sie die folgenden Ressourcen:

Probieren Sie unser Online-ZIP-Kompressionstool aus

Sie können auch mit unserer kostenlosen Online-Anwendung experimentieren, die auf Aspose.ZIP für .NET basiert, um Dateien mühelos in ZIP-Archive zu komprimieren.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ZIP-Archive programmgesteuert in C# erstellen. Die bereitgestellten Codebeispiele zeigen, wie Sie Dateien und Ordner zu ZIP-Archiven hinzufügen, passwortgeschützte ZIP-Dateien mit ZipCrypto und AES-Verschlüsselungsmethoden erstellen und die parallele Komprimierung konfigurieren. Wenn Sie Fragen haben oder weitere Unterstützung benötigen, können Sie sich gerne über unser Forum an uns wenden.

Siehe auch

Unrar oder Dateien mit C# extrahierenDateien in ZIP-Archiven mit C# entpacken7z (7-Zip) Archive in C# .NET erstellen
7z (7zip) Datei in C# .NET öffnen oder extrahierenGZip-Archive mit C# erstellen und extrahierenRAR-Dateien in ZIP-Archive in C# konvertieren
ZIP-Archive in TAR in C# konvertierenEin flaches ZIP-Archiv in C# erstellenErstellen eines ausführbaren selbstextrahierenden Archivs in C#
TAR.GZ- und TAR.XZ-Dateien in C# erstellenDateien in einem ZIP-Archiv in C# löschenVerschachtelte ZIP-Archive in C# extrahieren
Mehrere ZIP- oder TAR-Archive in C# zusammenführenSo erstellen Sie ZIP-Dateien7z online extrahieren