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#
- Öffnen Sie das RAR-Archiv mit der RarArchive-Instanz.
- Erstellen Sie einen neuen Dateistream für den extrahierten Eintrag.
- Verwenden Sie die Open-Methode für den ersten Eintrag, um dessen Inhalt abzurufen.
- 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#
- Öffnen Sie das verschlüsselte RAR-Archiv mithilfe eines FileInfo-Objekts.
- Erstellen Sie einen Dateistream für den extrahierten Eintrag.
- Verwenden Sie die Extract-Methode für den ersten Eintrag und geben Sie das zum Entschlüsseln erforderliche Passwort an.
- 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#
- Öffnen Sie das RAR-Archiv mit der RarArchive-Instanz.
- 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 }