RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

Yeni bir örneğini başlatır.RarArchive class ve composes girişleri listesi arşivden çıkarılabilir.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
ParametreTipTanım
pathStringArşiv dosyasının tam veya göreli yolu.
loadOptionsRarArchiveLoadOptionsMevcut arşivi yüklemek için seçenekler.

istisnalar

istisnaşart
ArgumentNullExceptionpath boş.
SecurityExceptionArayan, erişim için gerekli izne sahip değil.
ArgumentExceptionbupath boş, yalnızca beyaz boşluklar içeriyor veya geçersiz karakterler içeriyor.
UnauthorizedAccessExceptiondosyaya erişimpath engellendi.
PathTooLongExceptionBelirtilenpath, dosya adı veya her ikisi de sistem tarafından tanımlanan maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda yollar 248 karakterden, dosya adları ise 260 karakterden kısa olmalıdır.
NotSupportedExceptiondosyapath dizenin ortasında iki nokta üst üste (:) içerir.

Notlar

Bu yapıcı herhangi bir girdiyi açmaz. GörmekOpen açma yöntemi.

Örnekler

Aşağıdaki örnek, bir arşivi ayıklayın, ardından ilk girdiyi sıkıştırılmış bir dosyaya açın.Bellek Akışı.

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

Ayrıca bakınız


RarArchive(Stream, RarArchiveLoadOptions)

Yeni bir örneğini başlatır.RarArchive class ve composes girişleri listesi arşivden çıkarılabilir.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
ParametreTipTanım
sourceStreamStreamArşivin kaynağı.
loadOptionsRarArchiveLoadOptionsMevcut arşivi yüklemek için seçenekler.

istisnalar

istisnaşart
ArgumentExceptionsourceStream aranmaz.
InvalidDataExceptionArşiv için yanlış imza. - veya - Dosya bir RAR arşivi değil.
InvalidOperationException

Notlar

Bu yapıcı herhangi bir girdiyi açmaz. GörmekOpen açma yöntemi.

Örnekler

Aşağıdaki örnek, bir dosyaya ilk girişi deşifre eder ve açar.Bellek Akışı.

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

Ayrıca bakınız