Class ArchiveEntry
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
Arşiv içindeki tek bir dosyayı temsil eder.
public abstract class ArchiveEntry : IArchiveFileEntry
Miras
Türetilmiş
ArchiveEntryEncrypted, ArchiveEntryPlain
Uygulamalar
Miras Alınan Üyeler
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Açıklamalar
Aspose.Zip.ArchiveEntry örneğini Aspose.Zip.ArchiveEntryEncrypted’e dönüştürerek girişin şifreli olup olmadığını belirleyin.
Yapıcılar
ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)
Aspose.Zip.ArchiveEntry sınıfının yeni bir örneğini başlatır.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)
Parametreler
name
string
Giriş adı.
compressionSettings
CompressionSettings
Sıkıştırma veya açma ayarları.
sourceProvider
Func<Stream>
Sıkıştırılacak veya açılacak giriş verileriyle birlikte akış döndüren yöntem.
fileAttributes
FileAttributes
Dosya sisteminden alınan nitelikler.
ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)
Aspose.Zip.ArchiveEntry sınıfının yeni bir örneğini başlatır.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parametreler
name
string
Giriş adı.
compressionSettings
CompressionSettings
Sıkıştırma veya açma ayarları.
source
Stream
Sıkıştırılacak veya açılacak giriş verileriyle birlikte akış.
fileAttributes
FileAttributes
Dosya sisteminden alınan nitelikler.
fileInfo
FileSystemInfo
Girişin dayandığı dosya veya klasör bilgisi.
Özellikler
Comment
Arşiv içindeki girişin yorumunu alır.
public string Comment { get; protected set; }
Özellik Değeri
CompressedSize
Sıkıştırılmış dosyanın boyutunu alır.
public ulong CompressedSize { get; }
Özellik Değeri
CompressionSettings
Sıkıştırma veya açma ayarlarını alır.
public CompressionSettings CompressionSettings { get; }
Özellik Değeri
DataSource
Giriş arşive eklendiğinde, çıkarılmadığında kaynak.
public Stream DataSource { get; }
Özellik Değeri
Açıklamalar
Atanmadan önce kaynak null’dır. Bu kaynak, bazı durumlarda Archive.Save
yönteminde atanabilir.
FileAttributes
Ana sistemden dosya niteliklerini alır.
protected FileAttributes FileAttributes { get; }
Özellik Değeri
IsDirectory
Girişin dizini temsil edip etmediğini belirten bir değer alır.
public bool IsDirectory { get; }
Özellik Değeri
ModificationTime
Son değiştirilme tarihini ve saatini alır veya ayarlar.
public DateTime ModificationTime { get; set; }
Özellik Değeri
Name
Arşiv içindeki girişin adını alır.
public string Name { get; protected set; }
Özellik Değeri
UncompressedSize
Orijinal dosyanın boyutunu alır.
public ulong UncompressedSize { get; }
Özellik Değeri
Yöntemler
Extract(string, string)
Girişi sağlanan yol ile dosya sistemine çıkarır.
public FileInfo Extract(string path, string password = null)
Parametreler
path
string
Hedef dosya için yol. Eğer dosya zaten mevcutsa, üzerine yazılacaktır.
password
string
Şifre çözme için isteğe bağlı şifre.
Döndürür
Oluşturulan dosyanın bilgileri.
Örnekler
Her biri kendi şifresiyle iki zip arşiv girişini çıkarın
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");
}
}
İstisnalar
path
null’dur.
Arayanın erişim izni yoktur.
path
boş, yalnızca boşluk içeriyor veya geçersiz karakterler içeriyor.
path
dosyasına erişim reddedildi.
Belirtilen path
, dosya adı veya her ikisi de sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda yollar 248 karakterden kısa olmalı ve dosya adları 260 karakterden kısa olmalıdır.
path
dosyası, dize içinde bir iki nokta üst üste (:) içeriyor.
Dosya bulunamadı.
Belirtilen yol geçersizdir, örneğin haritalanmamış bir sürücüdür.
Dosya zaten açık.
Veri bozuldu. - veya - Giriş için CRC veya MAC doğrulaması başarısız oldu.
Extract(Stream, string)
Girişi sağlanan akışa çıkarır.
public void Extract(Stream destination, string password = null)
Parametreler
destination
Stream
Hedef akış. Yazılabilir olmalıdır.
password
string
Şifre çözme için isteğe bağlı şifre.
Örnekler
Şifre ile zip arşivinin bir girişini çıkarın.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
İstisnalar
Veri bozuldu. - veya - Giriş için CRC veya MAC doğrulaması başarısız oldu.
Kaynak bozuldu veya okunamaz.
destination
yazmayı desteklemiyor.
Open(string)
Girişi çıkarma için açar ve sıkıştırılmamış giriş içeriği ile bir akış sağlar.
public Stream Open(string password = null)
Parametreler
password
string
Şifre çözme için isteğe bağlı şifre.
Döndürür
Girişin içeriğini temsil eden akış.
Örnekler
Kullanım:
Stream decompressed = entry.Open();
.NET 4.0 ve üzeri - Stream.CopyTo yöntemini kullanın:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 ve öncesi - baytları manuel olarak kopyalayın:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Açıklamalar
<p>Akıştan okumak, dosyanın orijinal içeriğini elde etmek için gereklidir. Örnekler bölümüne bakın.</p>
#### İstisnalar
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Arşiv yanlış durumda.
### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed
Ham akışın bir kısmı sıkıştırıldığında tetiklenir.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Olay Türü
EventHandler<ProgressEventArgs>
Örnekler
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Açıklamalar
Olay göndericisi Aspose.Zip.ArchiveEntry örneğidir.
ExtractionProgressed
Ham akışın bir kısmı çıkarıldığında tetiklenir.
public event EventHandler<progresseventargs> ExtractionProgressed
Olay Türü
EventHandler<ProgressEventArgs>
Örnekler
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Açıklamalar
Olay göndericisi Aspose.Zip.ArchiveEntry örneğidir.