Extrahieren von RAR-Archiven in .NET

Überblick

Mit der Aspose.ZIP-API können Sie Archive in Ihren Anwendungen extrahieren, ohne dass andere Anwendungen von Drittanbietern erforderlich sind.  Aspose.ZIP API stellt die Klasse RarArchive für die Arbeit mit RAR-Archiven bereit.  Die API stellt die Klasse RarArchiveEntry zur Darstellung einer einzelnen Datei im RAR-Archiv bereit.

Die Erstellung von RAR-Archiven ist nicht möglich.

Eintrag extrahieren

Das folgende Codebeispiel zeigt, wie ein Eintrag mithilfe der RarArchive-Instanz extrahiert wird.

Schritte: Extrahieren eines Eintrags aus einem RAR-Archiv über C#

  1. Öffnen Sie das RAR-Archiv mit der RarArchive-Instanz.
  2. Erstellen Sie einen neuen Dateistream für den extrahierten Eintrag.
  3. Verwenden Sie die Open-Methode für den ersten Eintrag, um dessen Inhalt abzurufen.
  4. Verwenden Sie einen Puffer, um die Daten aus dem Eintrag zu lesen und in den Zieldateistream zu schreiben, bis alle Bytes übertragen sind.
 1    using (RarArchive archive = new RarArchive("archive.rar"))
 2    {
 3        using (var destination = File.Create(dataDir + "firstEntry.txt"))
 4        {
 5                using (var source = archive.Entries[0].Open())
 6                {
 7                    byte[] buffer = new byte[1024];
 8                    int bytesRead;
 9                    while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)                       
10                        destination.Write(buffer, 0, bytesRead);
11                            
12                }                    
13        }
14    }

Extrahieren Sie einen verschlüsselten Eintrag

Das folgende Codebeispiel zeigt, wie ein verschlüsselter Eintrag mithilfe der RarArchive-Instanz extrahiert wird.

Schritte: Extrahieren ein verschlüsselter Eintrag aus einem RAR-Archiv über C#

  1. Öffnen Sie das verschlüsselte RAR-Archiv mithilfe eines FileInfo-Objekts.
  2. Erstellen Sie einen Dateistream für den extrahierten Eintrag.
  3. Verwenden Sie die Extract-Methode für den ersten Eintrag und geben Sie das zum Entschlüsseln erforderliche Passwort an.
  4. Schreiben Sie die entschlüsselten Daten in die Zieldatei.
1    FileInfo fi = new FileInfo("encrypted.rar");
2    using (RarArchive archive = new RarArchive(fi.OpenRead()))
3    {
4        using (var destination = File.Create(dataDir + "firstEntry.txt"))
5        {
6            archive.Entries[0].Extract(destination, "p@s$w0rd");                
7        }
8    }

Komprimiertes Verzeichnis extrahieren

Das folgende Codebeispiel zeigt, wie alle Dateien aus der RarArchive-Instanz erstellt werden.

Schritte: Alle Dateien aus a extrahieren Komprimiertes Verzeichnis (RAR-Archiv) über C#

  1. Öffnen Sie das RAR-Archiv mit der RarArchive-Instanz.
  2. Verwenden Sie die Methode ExtractToDirectory, um alle Dateien aus dem Archiv in das angegebene Verzeichnis zu extrahieren.
1    using (RarArchive archive = new RarArchive("archive.rar"))
2    {
3        archive.ExtractToDirectory("extracted");
4    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.