Class RarArchive

Class RarArchive

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

Kelas ini mewakili file arsip RAR. Gunakan untuk mengekstrak arsip RAR.

public class RarArchive : IArchive, IDisposable

Pewarisan

objectRarArchive

Mengimplementasikan

IArchive, IDisposable

Anggota yang Dwarisi

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

Konstruktor

RarArchive(string, RarArchiveLoadOptions)

Menginisialisasi instance baru dari kelas Aspose.Zip.Rar.RarArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

Parameter

path string

Jalur lengkap atau jalur relatif ke file arsip.

loadOptions RarArchiveLoadOptions

Opsi untuk memuat arsip yang ada.

Contoh

Contoh berikut mengekstrak arsip, kemudian mendekompresi entri pertama ke dalam 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);
    }
}

Keterangan

Konstruktor ini tidak mendekompresi entri apa pun. Lihat metode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) untuk mendekompresi.

Pengecualian

ArgumentNullException

path adalah null.

SecurityException

Penelepon tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path kosong, hanya berisi spasi putih, atau berisi karakter yang tidak valid.

UnauthorizedAccessException

Akses ke file path ditolak.

PathTooLongException

path, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path mengandung tanda titik dua (:) di tengah string.

FileNotFoundException

File tidak ditemukan.

DirectoryNotFoundException

Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.

IOException

File sudah terbuka.

RarArchive(Stream, RarArchiveLoadOptions)

Menginisialisasi instance baru dari kelas Aspose.Zip.Rar.RarArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

Parameter

sourceStream Stream

Sumber arsip.

loadOptions RarArchiveLoadOptions

Opsi untuk memuat arsip yang ada.

Contoh

Contoh berikut mendekripsi dan mendekompresi entri pertama ke dalam 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);
    }
}

Keterangan

Konstruktor ini tidak mendekompresi entri apa pun. Lihat metode Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) untuk mendekompresi.

Pengecualian

ArgumentException

sourceStream tidak dapat dicari.

InvalidDataException

Tanda tangan yang salah untuk arsip. - atau - File bukan arsip RAR.

Properti

Entries

Mengambil entri dari tipe Aspose.Zip.Rar.RarArchiveEntry yang membentuk arsip rar.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

Nilai Properti

ReadOnlyCollection<RarArchiveEntry&gt;

Metode

Dispose(bool)

Melakukan tugas yang ditentukan aplikasi terkait dengan membebaskan, melepaskan, atau mereset sumber daya tidak terkelola.

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Apakah sumber daya yang dikelola harus dibebaskan.

Dispose()

Melakukan tugas yang ditentukan aplikasi terkait dengan membebaskan, melepaskan, atau mereset sumber daya tidak terkelola.

public void Dispose()

ExtractToDirectory(string, string)

Mengekstrak semua file dalam arsip ke direktori yang diberikan.

[Obsolete("Untuk ekstraksi arsip RAR yang terenkripsi, harap berikan kata sandi di konstruktor dengan Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameter

destinationDirectory string

Jalur ke direktori untuk menempatkan file yang diekstrak.

password string

Kata sandi opsional untuk dekripsi.

Contoh

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

Keterangan

Jika direktori tidak ada, direktori tersebut akan dibuat.

Pengecualian

ArgumentNullException

destinationDirectory adalah null.

PathTooLongException

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.

SecurityException

Penelepon tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.

NotSupportedException

Jika direktori tidak ada, jalur mengandung karakter titik dua (:) yang bukan bagian dari label drive (“C:").

ArgumentException

destinationDirectory adalah string dengan panjang nol, hanya berisi spasi putih, atau berisi satu atau lebih karakter yang tidak valid. Anda dapat menanyakan karakter yang tidak valid dengan menggunakan metode System.IO.Path.GetInvalidPathChars. -atau- jalur diawali dengan, atau hanya berisi, karakter titik dua (:).

IOException

Direktori yang ditentukan oleh jalur adalah file. -atau- Nama jaringan tidak diketahui.

ExtractToDirectory(string)

Mengekstrak semua file dalam arsip ke direktori yang diberikan.

public void ExtractToDirectory(string destinationDirectory)

Parameter

destinationDirectory string

Jalur ke direktori untuk menempatkan file yang diekstrak.

Contoh

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

Keterangan

Jika direktori tidak ada, direktori tersebut akan dibuat.

Pengecualian

ArgumentNullException

destinationDirectory adalah null.

PathTooLongException

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.

SecurityException

Penelepon tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.

NotSupportedException

Jika direktori tidak ada, jalur mengandung karakter titik dua (:) yang bukan bagian dari label drive (“C:").

ArgumentException

destinationDirectory adalah string dengan panjang nol, hanya berisi spasi putih, atau berisi satu atau lebih karakter yang tidak valid. Anda dapat menanyakan karakter yang tidak valid dengan menggunakan metode System.IO.Path.GetInvalidPathChars. -atau- jalur diawali dengan, atau hanya berisi, karakter titik dua (:).

IOException

Direktori yang ditentukan oleh jalur adalah file. -atau- Nama jaringan tidak diketahui.

 Indonesia