Class SevenZipArchiveEntry

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

objectSevenZipArchiveEntry

Turunan

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Mengimplementasikan

IArchiveFileEntry

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

ArgumentException

name adalah null atau kosong.

Properti

CompressedSize

Mendapatkan ukuran file yang dikompresi.

public ulong CompressedSize { get; }

Nilai Properti

ulong

CompressionSettings

Mendapatkan pengaturan untuk kompresi atau dekompresi.

public SevenZipCompressionSettings CompressionSettings { get; }

Nilai Properti

SevenZipCompressionSettings

FileAttributes

Mendapatkan atribut file dari sistem host.

protected FileAttributes FileAttributes { get; }

Nilai Properti

FileAttributes

IsDirectory

Mendapatkan nilai yang menunjukkan apakah entri mewakili direktori.

public bool IsDirectory { get; }

Nilai Properti

bool

ModificationTime

Mendapatkan tanggal dan waktu terakhir dimodifikasi.

public DateTime ModificationTime { get; }

Nilai Properti

DateTime

Name

Mendapatkan nama entri dalam arsip.

public string Name { get; protected set; }

Nilai Properti

string

Source

Mendapatkan stream sumber data untuk entri.

protected Stream Source { get; set; }

Nilai Properti

Stream

UncompressedSize

Mendapatkan ukuran file asli.

public ulong UncompressedSize { get; }

Nilai Properti

ulong

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

FileInfo

Informasi file dari file yang disusun.

Contoh

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

Pengecualian

ArgumentNullException

path adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

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

UnauthorizedAccessException

Akses ke file path ditolak.

PathTooLongException

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.

NotSupportedException

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

InvalidDataException

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

ArgumentException

destination tidak mendukung penulisan.

InvalidOperationException

Arsip tidak dibuka untuk ekstraksi. - atau - Entri ini adalah direktori.

InvalidDataException

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

int

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

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

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&gt;

Contoh

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { 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.

 Indonesia