Class RarArchive

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

objectRarArchive

Implementuje

IArchive, IDisposable

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

ArgumentNullException

path jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu.

ArgumentException

path jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.

UnauthorizedAccessException

Dostęp do pliku path jest zabroniony.

PathTooLongException

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.

NotSupportedException

Plik w path zawiera dwukropek (:) w środku ciągu.

FileNotFoundException

Plik nie został znaleziony.

DirectoryNotFoundException

Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.

IOException

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

ArgumentException

sourceStream nie jest możliwy do przeszukiwania.

InvalidDataException

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&gt;

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

ArgumentNullException

destinationDirectory jest null.

PathTooLongException

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.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.

NotSupportedException

Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").

ArgumentException

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 (:).

IOException

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

ArgumentNullException

destinationDirectory jest null.

PathTooLongException

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.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.

NotSupportedException

Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").

ArgumentException

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 (:).

IOException

Katalog określony przez ścieżkę jest plikiem. - lub - Nazwa sieci nie jest znana.

 Polski