Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Diese Klasse stellt eine RAR-Archivdatei dar. Verwenden Sie sie, um RAR-Archive zu extrahieren.
public class RarArchive : IArchive, IDisposable
Vererbung
Implementiert
Vererbte Mitglieder
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Konstruktoren
RarArchive(string, RarArchiveLoadOptions)
Initialisiert eine neue Instanz der Aspose.Zip.Rar.RarArchive-Klasse und erstellt eine Liste von Einträgen, die aus dem Archiv extrahiert werden können.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parameter
path
string
Der vollständig qualifizierte oder relative Pfad zur Archivdatei.
loadOptions
RarArchiveLoadOptions
Optionen zum Laden eines vorhandenen Archivs.
Beispiele
Das folgende Beispiel extrahiert ein Archiv und dekomprimiert dann den ersten Eintrag in einen MemoryStream
.
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Bemerkungen
Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) zum Dekomprimieren.
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugreifen.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Der Zugriff auf die Datei path
ist verweigert.
Der angegebene path
, Dateiname oder beides überschreitet die maximal zulässige Länge des Systems. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, beispielsweise weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
RarArchive(Stream, RarArchiveLoadOptions)
Initialisiert eine neue Instanz der Aspose.Zip.Rar.RarArchive-Klasse und erstellt eine Liste von Einträgen, die aus dem Archiv extrahiert werden können.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parameter
sourceStream
Stream
Die Quelle des Archivs.
loadOptions
RarArchiveLoadOptions
Optionen zum Laden eines vorhandenen Archivs.
Beispiele
Das folgende Beispiel entschlüsselt und dekomprimiert den ersten Eintrag in einen MemoryStream
.
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Bemerkungen
Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) zum Dekomprimieren.
Ausnahmen
sourceStream
ist nicht durchsuchbar.
Falsche Signatur für das Archiv. - oder - Die Datei ist kein RAR-Archiv.
Eigenschaften
Entries
Erhält die Einträge vom Typ Aspose.Zip.Rar.RarArchiveEntry, die das RAR-Archiv bilden.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Eigenschaftswert
ReadOnlyCollection<RarArchiveEntry>
Methoden
Dispose(bool)
Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.
protected virtual void Dispose(bool disposing)
Parameter
disposing
bool
Ob verwaltete Ressourcen freigegeben werden sollen.
Dispose()
Führt anwendungsspezifische Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Freigeben nicht verwalteter Ressourcen verbunden sind.
public void Dispose()
ExtractToDirectory(string, string)
Extrahiert alle Dateien im Archiv in das angegebene Verzeichnis.
[Obsolete("Für die Extraktion eines verschlüsselten RAR-Archivs geben Sie bitte das Passwort im Konstruktor mit Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword an.")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameter
destinationDirectory
string
Der Pfad zum Verzeichnis, in das die extrahierten Dateien abgelegt werden sollen.
password
string
Optionales Passwort zur Entschlüsselung.
Beispiele
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Bemerkungen
Wenn das Verzeichnis nicht existiert, wird es erstellt.
Ausnahmen
destinationDirectory
ist null.
Der angegebene Pfad, Dateiname oder beides überschreiten die maximal zulässige Länge des Systems. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugreifen auf das vorhandene Verzeichnis.
Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das nicht Teil eines Laufwerkslabels (“C:") ist.
destinationDirectory
ist eine null-längen Zeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können ungültige Zeichen mit der Methode System.IO.Path.GetInvalidPathChars abfragen. - oder - Der Pfad ist mit oder enthält nur ein Doppelpunktzeichen (:).
Das Verzeichnis, das durch den Pfad angegeben ist, ist eine Datei. - oder - Der Netzwerkname ist unbekannt.
ExtractToDirectory(string)
Extrahiert alle Dateien im Archiv in das angegebene Verzeichnis.
public void ExtractToDirectory(string destinationDirectory)
Parameter
destinationDirectory
string
Der Pfad zum Verzeichnis, in das die extrahierten Dateien abgelegt werden sollen.
Beispiele
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Bemerkungen
Wenn das Verzeichnis nicht existiert, wird es erstellt.
Ausnahmen
destinationDirectory
ist null.
Der angegebene Pfad, Dateiname oder beides überschreiten die maximal zulässige Länge des Systems. Zum Beispiel müssen Pfade auf Windows-basierten Plattformen weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugreifen auf das vorhandene Verzeichnis.
Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das nicht Teil eines Laufwerkslabels (“C:") ist.
destinationDirectory
ist eine null-längen Zeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können ungültige Zeichen mit der Methode System.IO.Path.GetInvalidPathChars abfragen. - oder - Der Pfad ist mit oder enthält nur ein Doppelpunktzeichen (:).
Das Verzeichnis, das durch den Pfad angegeben ist, ist eine Datei. - oder - Der Netzwerkname ist unbekannt.