Class RarArchive

Class RarArchive

Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)

Tato třída představuje soubor RAR archivu. Použijte ji k extrakci RAR archivů.

public class RarArchive : IArchive, IDisposable

Dědičnost

objectRarArchive

Implementuje

IArchive, IDisposable

Děděné členy

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Konstruktor

RarArchive(string, RarArchiveLoadOptions)

Inicializuje novou instanci třídy Aspose.Zip.Rar.RarArchive a sestavuje seznam položek, které lze extrahovat z archivu.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

Parametry

path string

Úplná nebo relativní cesta k souboru archivu.

loadOptions RarArchiveLoadOptions

Možnosti pro načtení existujícího archivu.

Příklady

Následující příklad extrahuje archiv, poté dekomprimuje první položku 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);
    }
}

Poznámky

Tento konstruktor neprovádí dekompresi žádné položky. Viz metoda Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) pro dekompresi.

Výjimky

ArgumentNullException

path je null.

SecurityException

Volající nemá potřebná oprávnění pro přístup.

ArgumentException

path je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path je odepřen.

PathTooLongException

Zadaná path, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

NotSupportedException

Soubor na path obsahuje dvojtečku (:) uprostřed řetězce.

FileNotFoundException

Soubor nebyl nalezen.

DirectoryNotFoundException

Zadaná cesta je neplatná, například se nachází na nepřipojeném disku.

IOException

Soubor je již otevřen.

RarArchive(Stream, RarArchiveLoadOptions)

Inicializuje novou instanci třídy Aspose.Zip.Rar.RarArchive a sestavuje seznam položek, které lze extrahovat z archivu.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

Parametry

sourceStream Stream

Zdroj archivu.

loadOptions RarArchiveLoadOptions

Možnosti pro načtení existujícího archivu.

Příklady

Následující příklad dešifruje a dekomprimuje první položku 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);
    }
}

Poznámky

Tento konstruktor neprovádí dekompresi žádné položky. Viz metoda Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) pro dekompresi.

Výjimky

ArgumentException

sourceStream není možné procházet.

InvalidDataException

Špatný podpis pro archiv. - nebo - Soubor není RAR archiv.

Vlastnosti

Entries

Získá položky typu Aspose.Zip.Rar.RarArchiveEntry, které tvoří rar archiv.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

Hodnota vlastnosti

ReadOnlyCollection<RarArchiveEntry&gt;

Metody

Dispose(bool)

Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.

protected virtual void Dispose(bool disposing)

Parametry

disposing bool

Zda by měly být uvolněny řízené prostředky.

Dispose()

Provádí úkoly definované aplikací spojené s uvolněním, uvolněním nebo resetováním neřízených prostředků.

public void Dispose()

ExtractToDirectory(string, string)

Extrahuje všechny soubory v archivu do poskytnutého adresáře.

[Obsolete("Pro extrakci šifrovaného RAR archivu prosím zadejte heslo v konstruktoru s Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

Parametry

destinationDirectory string

Cesta k adresáři, do kterého budou umístěny extrahované soubory.

password string

Volitelné heslo pro dešifrování.

Příklady

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted", "$ecRet");
}

Poznámky

Pokud adresář neexistuje, bude vytvořen.

Výjimky

ArgumentNullException

destinationDirectory je null.

PathTooLongException

Zadaná cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

SecurityException

Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.

NotSupportedException

Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").

ArgumentException

destinationDirectory je řetězec nulové délky, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků. Neplatné znaky můžete zjistit pomocí metody System.IO.Path.GetInvalidPathChars. - nebo - cesta je předcházena nebo obsahuje pouze znak dvojtečky (:).

IOException

Adresář určený cestou je soubor. - nebo - Název sítě není znám.

ExtractToDirectory(string)

Extrahuje všechny soubory v archivu do poskytnutého adresáře.

public void ExtractToDirectory(string destinationDirectory)

Parametry

destinationDirectory string

Cesta k adresáři, do kterého budou umístěny extrahované soubory.

Příklady

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Poznámky

Pokud adresář neexistuje, bude vytvořen.

Výjimky

ArgumentNullException

destinationDirectory je null.

PathTooLongException

Zadaná cesta, název souboru nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

SecurityException

Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.

NotSupportedException

Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").

ArgumentException

destinationDirectory je řetězec nulové délky, obsahuje pouze bílé znaky nebo obsahuje jeden nebo více neplatných znaků. Neplatné znaky můžete zjistit pomocí metody System.IO.Path.GetInvalidPathChars. - nebo - cesta je předcházena nebo obsahuje pouze znak dvojtečky (:).

IOException

Adresář určený cestou je soubor. - nebo - Název sítě není znám.

 Čeština