So komprimieren oder extrahieren Sie Archive mit C#

Überblick

In diesem Artikel wird erläutert, wie Sie Archive komprimieren oder extrahieren. Diese Archive können Zip, 7z, Rar und andere Formate sein. Es behandelt die folgenden Themen.

Format: ZIP

Format: ZIP – Passwort

Format: 7z

Format: RAR

Weitere Themen, die in diesem Artikel behandelt werden.

C#-Archive komprimieren oder extrahieren

Auf dieser Seite wird gezeigt, wie Sie Standardarchivierungsvorgänge in C# mit Aspose.ZIP für .NET durchführen. Das Aspose.ZIP-Paket kann mit dem folgenden NuGet-Befehl zu Ihrem .NET-Projekt hinzugefügt werden:

1PM> Install-Package Aspose.Zip

Es kann auch direkt als Assembly-Referenz zum .NET-Projekt hinzugefügt werden. Die Aspose.ZIP-Bibliothek kann von unserer Homepage heruntergeladen werden: https://products.aspose.com/zip/net/.

Die Aspose.ZIP .NET-Bibliothek kann auf jedem Betriebssystem verwendet werden, das .NET Core unterstützt (z. B. Windows, Linux oder macOS).

So erstellen Sie ZIP-Dateien in C#

Schritte: Zip-Datei in C# erstellen

  1. Erstellen Sie eine Instanz der Klasse Archive.
  2. Fügen Sie Dateien mit der Methode Archive.CreateEntry hinzu.
  3. Zippen Sie die Dateien mit der Methode Archive.Save.
1using (var archive = new Archive())
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

Der Archivklassenkonstruktor erstellt ein reguläres ZIP-Archiv mit dem Deflate-Komprimierungsalgorithmus und ohne Verschlüsselung.

So entpacken Sie Dateien in C#

Schritte: Datei in Ordner in C# entpacken

  1. Erstellen Sie eine Instanz der Klasse Archive mit Ihrer zip-Datei.
  2. Entpacken Sie die zip-Datei mit der Methode Archive.ExtractToDirectory in Ihren Ordner.
1using (var archive = new Archive("input_archive.zip"))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

Der Archivklassenkonstruktor kann jedes ZIP-Archiv öffnen. ArchiveLoadOptions sollte als zweiter Parameter angegeben werden, falls das Eingabearchiv passwortgeschützt ist (siehe Beispiel unten).

So komprimieren Sie 7z-Dateien in C#

Schritte: 7z-Archive in C# erstellen

  1. Erstellen Sie eine Instanz der Klasse SevenZipArchive mit SevenZipLZMACompressionSettings.
  2. Fügen Sie Ihre Dateien hinzu, indem Sie die Methode SevenZipArchive.CreateEntries aufrufen.
  3. Speichern Sie es im 7z-Format, indem Sie die Methode SevenZipArchive.Save aufrufen.
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3	archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4	archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}

Zum Erstellen eines neuen 7z-Archivs sollte der Klassenkonstruktor SevenZipArchive verwendet werden. Das obige Beispiel verwendet die klassische LZMA-Komprimierung, es sind jedoch auch andere Komprimierungs- und Verschlüsselungsoptionen verfügbar.

So extrahieren Sie 7z-Dateien in C#

Schritte: 7z-Datei in C# extrahieren

  1. Erstellen Sie eine Instanz der Klasse SevenZipArchive mit Ihrer 7z-Datei.
  2. Extrahieren Sie den Inhalt der 7z-Datei, indem Sie die Methode SevenZipArchive.ExtractToDirectory aufrufen.
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

Im obigen Beispiel öffnet der SevenZipArchive-Klassenkonstruktor ein nicht geschütztes 7z-Archiv.

So extrahieren Sie RAR-Dateien in C#

Schritte: RAR-Datei in C# extrahieren

  1. Erstellen Sie eine Instanz der Klasse RarArchive mit Ihrer RAR-Datei.
  2. Extrahieren Sie den Inhalt der RAR-Datei, indem Sie die Methode RarArchive.ExtractToDirectory aufrufen.
1using (var archive = new RarArchive("input_archive.rar"))
2{
3	archive.ExtractToDirectory("\\outputDirectory");
4}

Im obigen Beispiel öffnet der RarArchive-Klassenkonstruktor ein nicht geschütztes RAR-Archiv.

So komprimieren Sie Dateien mit Passwort in C#

Schritte: ZIP-Datei mit Passwort in C# erstellen

  1. Erstellen Sie eine Instanz der Klasse Archive.
  2. Übergeben Sie ArchiveEntrySettings und legen Sie die Eigenschaft encryptionSettings mit dem Objekt von TraditionalEncryptionSettings mit Ihrem Passwort fest.
  3. Fügen Sie so viele Dateien hinzu, indem Sie die Methode Archive.CreateEntry mehrmals aufrufen.
  4. Speichern Sie es als Zip-Datei mit der Methode Archive.Save.
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3   archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4   archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5   archive.Save("result_archive.zip");
6}

Der Parameter „encryptionSettings“ wird zum Erstellen eines passwortgeschützten ZIP-Archivs verwendet.

So entpacken Sie Dateien mit Passwort in C#

Schritte: Entpacken Sie die passwortgeschützte Zip-Datei mit C#

  1. Erstellen Sie eine Instanz der Klasse Archive.
  2. Übergeben Sie das Objekt ArchiveLoadOptions und legen Sie die Eigenschaft DecryptionPassword mit Ihrer ZIP-Datei password fest.
  3. Entpacken Sie die zip-Datei mit der Methode Archive.ExtractToDirectory in Ihren Ordner.
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3   archive.ExtractToDirectory("\\outputDirectory");
4}

Der Eigenschaftswert ArchiveLoadOptions mit DecryptionPassword wird zum Öffnen eines passwortgeschützten ZIP-Archivs verwendet.

Siehe auch

Dieser Artikel behandelt auch diese Themen. Die Codes sind die gleichen wie oben.

Format: ZIP

Format: 7z

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.