RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

Initierar en ny instans avRarArchive klass och komponerar poster lista kan extraheras från arkivet.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
ParameterTypBeskrivning
pathStringDen fullt kvalificerade eller den relativa sökvägen till arkivfilen.
loadOptionsRarArchiveLoadOptionsAlternativ att ladda befintligt arkiv med.

Undantag

undantagskick
ArgumentNullExceptionpath är inget.
SecurityExceptionDen som ringer har inte den behörighet som krävs för att få åtkomst.
ArgumentExceptionDepath är tom, innehåller bara blanksteg eller innehåller ogiltiga tecken.
UnauthorizedAccessExceptionTillgång till filpath är nekad.
PathTooLongExceptionDen angivnapath, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.
NotSupportedExceptionArkivera klpath innehåller ett kolon (:) i mitten av strängen.

Anmärkningar

Denna konstruktor dekomprimerar inte någon post. SerOpen metod för dekomprimering.

Exempel

Följande exempel extraherar ett arkiv och dekomprimerar sedan första posten till enMemoryStream.

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);
    }
}

Se även


RarArchive(Stream, RarArchiveLoadOptions)

Initierar en ny instans avRarArchive klass och komponerar poster lista kan extraheras från arkivet.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
ParameterTypBeskrivning
sourceStreamStreamKällan till arkivet.
loadOptionsRarArchiveLoadOptionsAlternativ att ladda befintligt arkiv med.

Undantag

undantagskick
ArgumentExceptionsourceStream är inte sökbar.
InvalidDataExceptionFel signatur för arkiv. - eller - Filen är inte ett RAR-arkiv.
InvalidOperationException

Anmärkningar

Denna konstruktor dekomprimerar inte någon post. SerOpen metod för dekomprimering.

Exempel

Följande exempel dechiffrerar och dekomprimerar första posten till aMemoryStream.

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);
    }
}

Se även