Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Ta klasa reprezentuje plik archiwum RAR. Użyj jej, aby wyodrębnić archiwa RAR.
public class RarArchive : IArchive, IDisposable
Dziedziczenie
Implementuje
Członkowie dziedziczeni
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Konstruktory
RarArchive(string, RarArchiveLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Rar.RarArchive i tworzy listę wpisów, które można wyodrębnić z archiwum.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parametry
path
string
W pełni kwalifikowana lub względna ścieżka do pliku archiwum.
loadOptions
RarArchiveLoadOptions
Opcje do załadowania istniejącego archiwum.
Przykłady
Poniższy przykład wyodrębnia archiwum, a następnie dekompresuje pierwszy wpis do 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);
}
}
Uwagi
Ten konstruktor nie dekompresuje żadnego wpisu. Zobacz metodę Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) w celu dekompresji.
Wyjątki
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
Podana path
, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Plik w path
zawiera dwukropek (:) w środku ciągu.
Plik nie został znaleziony.
Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.
Plik jest już otwarty.
RarArchive(Stream, RarArchiveLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Rar.RarArchive i tworzy listę wpisów, które można wyodrębnić z archiwum.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parametry
sourceStream
Stream
Źródło archiwum.
loadOptions
RarArchiveLoadOptions
Opcje do załadowania istniejącego archiwum.
Przykłady
Poniższy przykład odszyfrowuje i dekompresuje pierwszy wpis do 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);
}
}
Uwagi
Ten konstruktor nie dekompresuje żadnego wpisu. Zobacz metodę Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) w celu dekompresji.
Wyjątki
sourceStream
nie jest możliwy do przeszukiwania.
Nieprawidłowy podpis archiwum. - lub - Plik nie jest archiwum RAR.
Właściwości
Entries
Zwraca wpisy typu Aspose.Zip.Rar.RarArchiveEntry, które tworzą archiwum rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Wartość właściwości
ReadOnlyCollection<RarArchiveEntry>
Metody
Dispose(bool)
Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.
protected virtual void Dispose(bool disposing)
Parametry
disposing
bool
Czy zasoby zarządzane powinny być zwolnione.
Dispose()
Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.
public void Dispose()
ExtractToDirectory(string, string)
Wyodrębnia wszystkie pliki w archiwum do podanego katalogu.
[Obsolete("Aby wyodrębnić zaszyfrowane archiwum RAR, należy podać hasło w konstruktorze z Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parametry
destinationDirectory
string
Ścieżka do katalogu, w którym mają być umieszczone wyodrębnione pliki.
password
string
Opcjonalne hasło do dekrptycji.
Przykłady
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Uwagi
Jeśli katalog nie istnieje, zostanie utworzony.
Wyjątki
destinationDirectory
jest null.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.
Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").
destinationDirectory
jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz sprawdzić nieprawidłowe znaki, używając metody System.IO.Path.GetInvalidPathChars. - lub - ścieżka jest poprzedzona lub zawiera tylko znak dwukropka (:).
Katalog określony przez ścieżkę jest plikiem. - lub - Nazwa sieci nie jest znana.
ExtractToDirectory(string)
Wyodrębnia wszystkie pliki w archiwum do podanego katalogu.
public void ExtractToDirectory(string destinationDirectory)
Parametry
destinationDirectory
string
Ścieżka do katalogu, w którym mają być umieszczone wyodrębnione pliki.
Przykłady
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Uwagi
Jeśli katalog nie istnieje, zostanie utworzony.
Wyjątki
destinationDirectory
jest null.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.
Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").
destinationDirectory
jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz sprawdzić nieprawidłowe znaki, używając metody System.IO.Path.GetInvalidPathChars. - lub - ścieżka jest poprzedzona lub zawiera tylko znak dwukropka (:).
Katalog określony przez ścieżkę jest plikiem. - lub - Nazwa sieci nie jest znana.