Class RarArchive

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

object RarArchive

Implements

IArchive , IDisposable

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

ArgumentNullException

path’ is null.

SecurityException

Klient nie posiada wymaganego zezwolenia na dostęp.

ArgumentException

Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.

UnauthorizedAccessException

Dostęp do pliku path" jest odrzucony.

PathTooLongException

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.

NotSupportedException

Plik w path’ zawiera kolumnę (:) w środku paska.

FileNotFoundException

Plik nie został znaleziony.

DirectoryNotFoundException

Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.

IOException

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

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.

NotSupportedException

Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).

ArgumentException

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

IOException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Odwołujący nie posiada wymaganej pozwolenia na dostęp do istniejącego katalogu.

NotSupportedException

Jeśli dyrektywa nie istnieje, ścieżka zawiera znak kolumny (:) który nie jest częścią etykiety napędu (“C:”).

ArgumentException

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

IOException

Dyskusja określona przez ścieżkę jest plikiem. -or- Nazwa sieci nie jest znana.

 Polski