Class ArchiveEntry
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
Mewakili file tunggal dalam arsip.
public abstract class ArchiveEntry : IArchiveFileEntry
Pewarisan
Turunan
ArchiveEntryEncrypted, ArchiveEntryPlain
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.ArchiveEntry ke Aspose.Zip.ArchiveEntryEncrypted untuk menentukan apakah entri terenkripsi atau tidak.
Konstruktor
ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)
Menginisialisasi instance baru dari kelas Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)
Parameter
name
string
Nama entri.
compressionSettings
CompressionSettings
Pengaturan untuk kompresi atau dekompresi.
sourceProvider
Func<Stream>
Metode yang mengembalikan stream dengan data entri yang akan dikompresi.
fileAttributes
FileAttributes
Atribut dari sistem file.
ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)
Menginisialisasi instance baru dari kelas Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parameter
name
string
Nama entri.
compressionSettings
CompressionSettings
Pengaturan untuk kompresi atau dekompresi.
source
Stream
Stream dengan data entri yang akan dikompresi atau didekompresi.
fileAttributes
FileAttributes
Atribut dari sistem file.
fileInfo
FileSystemInfo
Informasi file atau direktori berdasarkan entri.
Properti
Comment
Mengambil komentar dari entri dalam arsip.
public string Comment { get; protected set; }
Nilai Properti
CompressedSize
Mengambil ukuran file yang terkompresi.
public ulong CompressedSize { get; }
Nilai Properti
CompressionSettings
Mengambil pengaturan untuk kompresi atau dekompresi.
public CompressionSettings CompressionSettings { get; }
Nilai Properti
DataSource
Sumber untuk entri jika entri ditambahkan ke arsip, bukan diekstrak.
public Stream DataSource { get; }
Nilai Properti
Catatan
Sebelum ditetapkan, sumber adalah null. Sumber ini dapat ditetapkan dalam metode Archive.Save
dalam beberapa kasus.
FileAttributes
Mengambil atribut file dari sistem host.
protected FileAttributes FileAttributes { get; }
Nilai Properti
IsDirectory
Mengambil nilai yang menunjukkan apakah entri mewakili direktori.
public bool IsDirectory { get; }
Nilai Properti
ModificationTime
Mengambil atau menetapkan tanggal dan waktu terakhir dimodifikasi.
public DateTime ModificationTime { get; set; }
Nilai Properti
Name
Mengambil nama entri dalam arsip.
public string Name { get; protected set; }
Nilai Properti
UncompressedSize
Mengambil ukuran file asli.
public ulong UncompressedSize { get; }
Nilai Properti
Metode
Extract(string, string)
Mengekstrak entri ke sistem file berdasarkan jalur yang diberikan.
public FileInfo Extract(string path, string password = null)
Parameter
path
string
Jalur ke file tujuan. Jika file sudah ada, akan ditimpa.
password
string
Kata sandi opsional untuk dekripsi.
Mengembalikan
Informasi file dari file yang disusun.
Contoh
Mengekstrak dua entri dari arsip zip, masing-masing dengan kata sandi sendiri
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract("first.bin", "first_pass");
archive.Entries[1].Extract("second.bin", "second_pass");
}
}
Pengecualian
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter yang tidak valid.
Akses ke file path
ditolak.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, pada 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 stream yang diberikan.
public void Extract(Stream destination, string password = null)
Parameter
destination
Stream
Stream tujuan. Harus dapat ditulis.
password
string
Kata sandi opsional untuk dekripsi.
Contoh
Mengekstrak entri dari arsip zip dengan kata sandi.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Pengecualian
Data rusak. -atau- Verifikasi CRC atau MAC gagal untuk entri.
Sumber rusak atau tidak dapat dibaca.
destination
tidak mendukung penulisan.
Open(string)
Membuka entri untuk ekstraksi dan menyediakan stream dengan konten entri yang didekompresi.
public Stream Open(string password = null)
Parameter
password
string
Kata sandi opsional untuk dekripsi.
Mengembalikan
Stream yang mewakili konten dari 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 stream untuk mendapatkan konten asli dari file. Lihat bagian contoh.</p>
#### Pengecualian
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Arsip berada dalam keadaan tidak benar.
### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Dinaikkan saat sebagian dari stream mentah dikompresi.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Tipe Acara
EventHandler<ProgressEventArgs>
Contoh
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Catatan
Pengirim acara adalah instance Aspose.Zip.ArchiveEntry.
ExtractionProgressed
Dinaikkan saat sebagian dari stream mentah diekstrak.
public event EventHandler<progresseventargs> ExtractionProgressed
Tipe Acara
EventHandler<ProgressEventArgs>
Contoh
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Catatan
Pengirim acara adalah instance Aspose.Zip.ArchiveEntry.