In einem früheren Beitrag haben wir verschiedene Methoden zur Erstellung von ZIP Archiven mit C# untersucht. Dieser Artikel baut auf diesem Wissen auf, indem er sich auf das 7z-Format konzentriert, das auf einer Open-Source-Architektur basiert und ein hohes Kompressionsverhältnis bietet. Besonders hervorzuheben ist, dass 7z eine 256-Bit-AES-Verschlüsselung unterstützt, die es Ihnen ermöglicht, nicht nur die Dateien, sondern auch deren Namen zu sichern.
In diesem Leitfaden lernen Sie, wie Sie 7z (7-Zip) Archive programmgesteuert mit C# erstellen. Wir werden folgende Themen behandeln:
- Erstellen eines 7z-Archivs mit einem einzelnen Eintrag
- Erstellen eines AES-verschlüsselten 7z-Archivs
- Festlegen unterschiedlicher Passwörter für 7z-Einträge
Alle Beispiele und Code-Snippets basieren auf der Aspose.ZIP für .NET API. Stellen Sie sicher, dass Sie die API mit einer der folgenden Methoden installiert haben:
- Installieren Sie über den NuGet-Paket-Manager.
- Laden Sie die DLL herunter und fügen Sie deren Referenz zu Ihrem Projekt hinzu.
Erstellen Sie 7z (7-Zip) Archive mit C#
Sie können Dateien in ein 7z-Archiv in zwei Hauptszenarien komprimieren: beim Umgang mit einer einzelnen Datei oder mehreren Dateien. So gehen Sie mit beiden Situationen um.
Erstellen Sie ein 7z-Archiv mit einem einzelnen Eintrag
Um ein 7z-Archiv mit einer einzelnen Datei zu erstellen, befolgen Sie diese Schritte:
- Öffnen Sie einen neuen FileStream, um eine 7z-Datei zu erstellen.
- Erstellen Sie eine Instanz der SevenZipArchive Klasse.
- Fügen Sie die Datei mit der Methode SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings) zum Archiv hinzu.
- Speichern Sie das Archiv mit der Methode SevenZipArchive.Save(Stream).
Hier ist ein C# 7z-Archivbeispiel, das die obigen Schritte demonstriert:
Erstellen Sie ein 7z-Archiv mit mehreren Einträgen
Wenn Sie mehrere Dateien komprimieren müssen, können Sie diese in einem Ordner platzieren und den Pfad des Ordners an die Methode SevenZipArchive.CreateEntries() übergeben. Befolgen Sie diese Schritte:
- Erstellen Sie eine Instanz der SevenZipArchive Klasse.
- Übergeben Sie den Pfad des Ordners an die Methode SevenZipArchive.CreateEntries(String, Boolean).
- Rufen Sie die Methode SevenZipArchive.Save(String) auf.
So erstellen Sie ein 7z-Archiv mit mehreren Einträgen in C#:
Erstellen Sie ein AES-verschlüsseltes 7z-Archiv mit C#
Das 7z-Format unterstützt AES-Verschlüsselung für zusätzliche Sicherheit. Um eine 7z-Datei zu verschlüsseln, verwenden Sie die Klasse SevenZipAESEncryptionSettings. Im Folgenden finden Sie ein Codebeispiel, das zeigt, wie Sie ein AES-verschlüsseltes 7z-Archiv mit C# erstellen:
Festlegen unterschiedlicher Passwörter für 7z-Einträge mit C#
Das 7z-Format ermöglicht es Ihnen auch, jedem Dateieintrag ein einzigartiges Passwort zuzuweisen. Wenn Sie mehrere Dateien komprimieren, können Sie für jede unterschiedliche Passwörter angeben. So gehen Sie vor:
- Erstellen Sie einen neuen FileStream für die 7z-Archivdatei.
- Greifen Sie auf jeden Dateieintrag über die Klasse FileInfo zu.
- Erstellen Sie eine Instanz der SevenZipArchive Klasse.
- Fügen Sie Einträge mit der Methode SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings) zum 7z-Archiv hinzu.
- Speichern Sie das Archiv mit der Methode SevenZipArchive.Save(Stream).
Sehen Sie sich das folgende Codebeispiel an, um zu erfahren, wie Sie für jeden Eintrag in einem 7z-Archiv unterschiedliche Passwörter festlegen:
Fazit
In diesem Artikel haben wir behandelt, wie man 7z-Archive programmgesteuert mit C# erstellt. Wir haben auch untersucht, wie man AES-Verschlüsselung zur Verbesserung der Sicherheit implementiert und wie man einzigartige Passwörter für jeden Dateieintrag festlegt. Für weitere Informationen zur Datei-Komprimierung und -Dekomprimierung können Sie die Aspose.ZIP-Dokumentation einsehen.
Verwandte Artikel
Durch die Nutzung des Aspose Plugins für .NET können Sie .NET 7-Zip-Kompression einfach in Ihre Anwendungen integrieren, Ihre Datei-Management-Prozesse optimieren und die Fähigkeiten Ihrer Software erweitern. Für nur 99 $ können Sie leistungsstarke Funktionen freischalten, die die Handhabung großer Dateien, asynchrone Kompression und mehr unterstützen.