Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Mewakili file tunggal dalam arsip.
public abstract class RarArchiveEntry : IArchiveFileEntry
Pewarisan
Turunan
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Mengimplementasikan
Anggota yang Dwarisi
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Catatan
Cast instance Aspose.Zip.Rar.RarArchiveEntry ke Aspose.Zip.Rar.RarArchiveEntryEncrypted untuk menentukan apakah entri terenkripsi atau tidak.
Properti
CompressedSize
Mendapatkan ukuran file terkompresi.
public ulong CompressedSize { get; }
Nilai Properti
CreationTime
Mendapatkan tanggal dan waktu pembuatan.
public DateTime CreationTime { get; }
Nilai Properti
IsDirectory
Mendapatkan nilai yang menunjukkan apakah entri mewakili direktori.
public bool IsDirectory { get; }
Nilai Properti
LastAccessTime
Mendapatkan tanggal dan waktu akses terakhir.
public DateTime LastAccessTime { get; }
Nilai Properti
ModificationTime
Mendapatkan tanggal dan waktu modifikasi terakhir.
public DateTime ModificationTime { get; }
Nilai Properti
Name
Mendapatkan nama entri dalam arsip.
public string Name { get; }
Nilai Properti
Source
Mendapatkan aliran sumber data untuk entri.
protected Stream Source { get; set; }
Nilai Properti
UncompressedSize
Mendapatkan ukuran file asli.
public ulong UncompressedSize { get; }
Nilai Properti
Metode
Extract(string, string)
Mengekstrak entri ke filesystem berdasarkan jalur yang diberikan.
public FileInfo Extract(string path, string password = null)
Parameter
path
string
Jalur ke file tujuan. Jika file sudah ada, file tersebut akan ditimpa.
password
string
Kata sandi opsional untuk dekripsi.
Mengembalikan
Info file dari file yang disusun.
Contoh
Mengekstrak dua entri dari arsip rar.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
Pengecualian
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau berisi karakter yang tidak valid.
Akses ke file path
ditolak.
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.
File di path
mengandung titik dua (:) di tengah string.
File tidak ditemukan.
Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
File sudah terbuka.
Data rusak. -atau- Verifikasi CRC atau MAC gagal untuk entri.
Extract(Stream, string)
Mengekstrak entri ke aliran yang diberikan.
public void Extract(Stream destination, string password = null)
Parameter
destination
Stream
Aliran tujuan. Harus dapat ditulis.
password
string
Kata sandi opsional untuk dekripsi.
Contoh
Mengekstrak entri dari arsip rar dengan kata sandi.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Pengecualian
Verifikasi CRC atau MAC gagal untuk entri.
destination
tidak mendukung penulisan.
Data rusak. -atau- Verifikasi CRC atau MAC gagal untuk entri.
Open(string)
Membuka entri untuk ekstraksi dan menyediakan aliran dengan konten entri yang terkompresi.
public Stream Open(string password = null)
Parameter
password
string
Kata sandi opsional untuk dekripsi. Ini juga dapat diatur dalam Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
Mengembalikan
Aliran yang mewakili konten entri.
Contoh
Penggunaan:
Stream decompressed = entry.Open();
.NET 4.0 dan lebih tinggi - gunakan metode Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 dan sebelumnya - salin byte secara manual:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Catatan
<p>Baca dari aliran untuk mendapatkan konten asli file. Lihat bagian contoh.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Ditingkatkan ketika sebagian aliran mentah diekstrak.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Jenis Acara
EventHandler<ProgressEventArgs>
Contoh
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Catatan
Pengirim acara adalah instance Aspose.Zip.Rar.RarArchiveEntry.