RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

Menginisialisasi instance baru dariRarArchive kelas dan menulis daftar entri dapat diekstraksi dari arsip.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
ParameterJenisKeterangan
pathStringJalur yang sepenuhnya memenuhi syarat atau relatif ke file arsip.
loadOptionsRarArchiveLoadOptionsOpsi untuk memuat arsip yang ada.

Pengecualian

pengecualiankondisi
ArgumentNullExceptionpath adalah nol.
SecurityExceptionPenelepon tidak memiliki izin yang diperlukan untuk mengakses.
ArgumentExceptionItupath kosong, hanya berisi spasi putih, atau berisi karakter yang tidak valid.
UnauthorizedAccessExceptionAkses ke filepath ditolak.
PathTooLongExceptionYang ditentukanpath, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem. Misalnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
NotSupportedExceptionBerkas dipath berisi titik dua (:) di tengah string.

Perkataan

Konstruktor ini tidak mendekompres entri apa pun. MelihatOpen metode dekompresi.

Contoh

Contoh berikut mengekstrak arsip, lalu mendekompres entri pertama ke aMemoryStream.

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

Lihat juga


RarArchive(Stream, RarArchiveLoadOptions)

Menginisialisasi instance baru dariRarArchive kelas dan menulis daftar entri dapat diekstraksi dari arsip.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
ParameterJenisKeterangan
sourceStreamStreamSumber arsip.
loadOptionsRarArchiveLoadOptionsOpsi untuk memuat arsip yang ada.

Pengecualian

pengecualiankondisi
ArgumentExceptionsourceStream tidak dapat dicari.
InvalidDataExceptionTanda tangan salah untuk arsip. - atau - File tersebut bukan arsip RAR.
InvalidOperationException

Perkataan

Konstruktor ini tidak mendekompres entri apa pun. MelihatOpen metode dekompresi.

Contoh

Contoh berikut menguraikan dan mendekompres entri pertama ke 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);
    }
}

Lihat juga