Class SevenZipArchiveEntry
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
Mewakili file tunggal dalam arsip 7z.
public abstract class SevenZipArchiveEntry : IArchiveFileEntry
Pewarisan
Turunan
SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain
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.SevenZip.SevenZipArchiveEntry ke Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted untuk menentukan apakah entri dienkripsi atau tidak.
Konstruktor
SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)
Menginisialisasi instance baru dari kelas Aspose.Zip.SevenZip.SevenZipArchiveEntry.
protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parameter
parent
SevenZipArchive
name
string
Nama entri.
compressionSettings
SevenZipCompressionSettings
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 yang menjadi dasar entri.
Pengecualian
name
adalah null atau kosong.
Properti
CompressedSize
Mendapatkan ukuran file yang dikompresi.
public ulong CompressedSize { get; }
Nilai Properti
CompressionSettings
Mendapatkan pengaturan untuk kompresi atau dekompresi.
public SevenZipCompressionSettings CompressionSettings { get; }
Nilai Properti
FileAttributes
Mendapatkan atribut file dari sistem host.
protected FileAttributes FileAttributes { get; }
Nilai Properti
IsDirectory
Mendapatkan nilai yang menunjukkan apakah entri mewakili direktori.
public bool IsDirectory { get; }
Nilai Properti
ModificationTime
Mendapatkan tanggal dan waktu terakhir dimodifikasi.
public DateTime ModificationTime { get; }
Nilai Properti
Name
Mendapatkan nama entri dalam arsip.
public string Name { get; protected set; }
Nilai Properti
Source
Mendapatkan stream 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 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, file tersebut akan ditimpa.
password
string
Kata sandi opsional untuk dekripsi.
Mengembalikan
Informasi file dari file yang disusun.
Contoh
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract("data.bin");
}
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 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.
Arsip rusak.
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 (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract(httpResponseStream);
}
Pengecualian
destination
tidak mendukung penulisan.
Arsip tidak dibuka untuk ekstraksi. - atau - Entri ini adalah direktori.
Data salah dalam entri.
FinalizeCompressedData(Stream, byte[])
Menulis ke stream output setiap header yang mengikuti data terkompresi.
protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)
Parameter
outputStream
Stream
Stream output untuk entri.
encoderProperties
byte[]
Properti dari kompresor.
Mengembalikan
Jumlah byte “teknis” yang ditambahkan setelah blok data signifikan entri.
GetDestinationStream(Stream)
Stream tujuan untuk entri, mungkin dihias.
protected abstract Stream GetDestinationStream(Stream outputStream)
Parameter
outputStream
Stream
Stream output untuk entri.
Mengembalikan
Stream tujuan untuk kompresi entri.
Open(string)
Membuka entri untuk ekstraksi dan menyediakan stream dengan konten entri.
public Stream Open(string password = null)
Parameter
password
string
Kata sandi opsional untuk dekripsi.
Mengembalikan
Stream 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
Baca dari stream untuk mendapatkan konten asli file. Lihat bagian contoh.
#### Pengecualian
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Arsip tidak dibuka untuk ekstraksi. - atau - Entri ini adalah direktori.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
Data salah dalam entri.
### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Dinaikkan saat sebagian 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.SevenZip.SevenZipArchiveEntry.
Tidak dipanggil dalam mode multi-threaded untuk entri LZMA2.