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
Implementuje
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
path
je null.
Volající nemá potřebná oprávnění pro přístup.
path
je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.
Přístup k souboru path
je odepřen.
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ů.
Soubor na path
obsahuje dvojtečku (:) uprostřed řetězce.
Soubor nebyl nalezen.
Zadaná cesta je neplatná, například se nachází na nepřipojeném disku.
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
sourceStream
není možné procházet.
Š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>
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
destinationDirectory
je null.
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ů.
Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.
Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").
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 (:).
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
destinationDirectory
je null.
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ů.
Volající nemá potřebná oprávnění pro přístup k existujícímu adresáři.
Pokud adresář neexistuje, cesta obsahuje znak dvojtečky (:) který není součástí označení disku (“C:").
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 (:).
Adresář určený cestou je soubor. - nebo - Název sítě není znám.