Class ArchiveEntry

Class ArchiveEntry

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

Mewakili file tunggal dalam arsip.

public abstract class ArchiveEntry : IArchiveFileEntry

Pewarisan

objectArchiveEntry

Turunan

ArchiveEntryEncrypted, ArchiveEntryPlain

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

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

string

CompressedSize

Mengambil ukuran file yang terkompresi.

public ulong CompressedSize { get; }

Nilai Properti

ulong

CompressionSettings

Mengambil pengaturan untuk kompresi atau dekompresi.

public CompressionSettings CompressionSettings { get; }

Nilai Properti

CompressionSettings

DataSource

Sumber untuk entri jika entri ditambahkan ke arsip, bukan diekstrak.

public Stream DataSource { get; }

Nilai Properti

Stream

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

FileAttributes

IsDirectory

Mengambil nilai yang menunjukkan apakah entri mewakili direktori.

public bool IsDirectory { get; }

Nilai Properti

bool

ModificationTime

Mengambil atau menetapkan tanggal dan waktu terakhir dimodifikasi.

public DateTime ModificationTime { get; set; }

Nilai Properti

DateTime

Name

Mengambil nama entri dalam arsip.

public string Name { get; protected set; }

Nilai Properti

string

UncompressedSize

Mengambil 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, akan ditimpa.

password string

Kata sandi opsional untuk dekripsi.

Mengembalikan

FileInfo

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

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 oleh sistem. Misalnya, pada 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.

FileNotFoundException

File tidak ditemukan.

DirectoryNotFoundException

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

IOException

File sudah terbuka.

InvalidDataException

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

InvalidDataException

Data rusak. -atau- Verifikasi CRC atau MAC gagal untuk entri.

IOException

Sumber rusak atau tidak dapat dibaca.

ArgumentException

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

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 &lt; (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&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.ArchiveEntry.

ExtractionProgressed

Dinaikkan saat sebagian dari stream mentah diekstrak.

public event EventHandler<progresseventargs> ExtractionProgressed

Tipe Acara

EventHandler<ProgressEventArgs&gt;

Contoh

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Catatan

Pengirim acara adalah instance Aspose.Zip.ArchiveEntry.

 Indonesia