Class RarArchive
Nazwa przestrzeń: Aspose.Zip.Rar Zestawienie: Aspose.Zip.dll (25.5.0)
Ta klasa reprezentuje plik archiwów RAR. Użyj go do ekstrakcji archiwów RAR.
public class RarArchive : IArchive, IDisposable
Inheritance
Implements
Dziedziczeni członkowie
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
RarArchive(String, RarArchiveLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Rar.RarArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Parameters
path
string
Całkowicie kwalifikowany lub relatywny ścieżka do pliku archiwum.
loadOptions
RarArchiveLoadOptions
Możliwości pobierania istniejących archiwów.
Examples
Poniższy przykład wyciąga archiwum, a następnie dekompresuje pierwszy wpis do .
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);
}
}
Remarks
Konstruktor ten nie dekompresuje żadnych wpisów. zobacz Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) metoda dekompresji.
Exceptions
path’ is null.
Klient nie posiada wymaganego zezwolenia na dostęp.
Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku path" jest odrzucony.
Określenie path", nazwa pliku lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik w path’ zawiera kolumnę (:) w środku paska.
Plik nie został znaleziony.
Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.
Archiwum jest już otwarte.
RarArchive(Strumień, RarArchiveLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Rar.RarArchive i tworzy listę wpisów, które można wyciągnąć z archiwum.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Parameters
sourceStream
Stream
Źródło tego archiwum.
loadOptions
RarArchiveLoadOptions
Możliwości pobierania istniejących archiwów.
Examples
Następny przykład decyduje i dekompresuje pierwszy wpis do a .
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);
}
}
Remarks
Konstruktor ten nie dekompresuje żadnych wpisów. zobacz Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) metoda dekompresji.
Exceptions
sourceStream’ is not seekable.
Nieprawidłowy podpis dla archiwum. - lub - Plik nie jest archiwum RAR.
Properties
Entries
Otrzymuje wpisy typu Aspose.Zip.Rar.RarArchiveEntry tworząc rzadkie archiwum.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Wartość nieruchomości
ReadOnlyCollection • < RarArchiveEntry >
Methods
Dispose(Bool)
Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Czy zarządzane zasoby powinny zostać usunięte?
Dispose()
Wykonywanie zadań określonych w aplikacji związanych z uwalnianiem, uwalnianiem lub ponownym uwalnianiem nie zarządzanych zasobów.
public void Dispose()
ExtractToDirectory(strumień, strumień)
Wyciąga wszystkie pliki w archiwum do dostarczonego katalogu.
[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Droga do katalogu, aby umieścić wyciągnięte pliki.
password
string
Opcjonalne hasło do dekrypcji.
Examples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Remarks
Jeśli dyrektywa nie istnieje, zostanie ona utworzona.
Exceptions
destinationDirectory’ is null.
Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.
Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).
Dyskusja określona przez ścieżkę jest plikiem. -or- Nazwa sieci nie jest znana.
ExtractToDirectory(strumień)
Wyciąga wszystkie pliki w archiwum do dostarczonego katalogu.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Droga do katalogu, aby umieścić wyciągnięte pliki.
Examples
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Jeśli dyrektywa nie istnieje, zostanie ona utworzona.
Exceptions
destinationDirectory’ is null.
Na przykład, na platformach z systemem Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.
Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).
Dyskusja określona przez ścieżkę jest plikiem. -or- Nazwa sieci nie jest znana.