Class SevenZipArchiveEntry
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
7z arşivindeki tek bir dosyayı temsil eder.
public abstract class SevenZipArchiveEntry : IArchiveFileEntry
Miras
Türetilmiş
SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain
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.SevenZip.SevenZipArchiveEntry örneğini Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted olarak dönüştürerek girişin şifreli olup olmadığını belirleyin.
Yapıcılar
SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)
Aspose.Zip.SevenZip.SevenZipArchiveEntry sınıfının yeni bir örneğini başlatır.
protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
Parametreler
parent
SevenZipArchive
name
string
Giriş adı.
compressionSettings
SevenZipCompressionSettings
Sıkıştırma veya açma ayarları.
source
Stream
Sıkıştırılacak veya açılacak giriş verileri ile akış.
fileAttributes
FileAttributes
Dosya sisteminden alınan öznitelikler.
fileInfo
FileSystemInfo
Girişin temel alındığı dosya veya dizin bilgisi.
İstisnalar
name
null veya boştur.
Özellikler
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 SevenZipCompressionSettings CompressionSettings { get; }
Özellik Değeri
FileAttributes
Ana sistemden dosya özniteliklerini 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şiklik tarih ve saatini alır.
public DateTime ModificationTime { get; }
Özellik Değeri
Name
Arşiv içindeki girişin adını alır.
public string Name { get; protected set; }
Özellik Değeri
Source
Giriş için veri kaynağı akışını alır.
protected Stream Source { get; 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 yola dosya sistemine çıkarır.
public FileInfo Extract(string path, string password = null)
Parametreler
path
string
Hedef dosyanın yolu. Dosya zaten mevcutsa, üzerine yazılacaktır.
password
string
Şifre çözme için isteğe bağlı parola.
Dönüşler
Oluşturulan dosyanın bilgileri.
Örnekler
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract("data.bin");
}
İstisnalar
path
null’dır.
Arayanın erişim için gerekli izni yoktur.
path
boştur, 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 daha kısa olmalı ve dosya adları 260 karakterden daha kısa olmalıdır.
path
dosyası, dizgenin ortasında bir iki nokta üst üste (:) içeriyor.
Arşiv bozulmuş.
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ı parola.
Örnekler
Şifre ile zip arşivinin bir girişini çıkarın.
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract(httpResponseStream);
}
İstisnalar
destination
yazmayı desteklemiyor.
Arşiv çıkarma için açılmamıştır. - veya - Bu giriş bir dizindir.
Giriş içinde yanlış veri.
FinalizeCompressedData(Stream, byte[])
Sıkıştırılmış verileri takip eden başlıkları çıkış akışına yazın.
protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)
Parametreler
outputStream
Stream
Giriş için çıkış akışı.
encoderProperties
byte[]
Sıkıştırıcı özellikleri.
Dönüşler
Girişin önemli veri bloğundan sonra eklenen “teknik” baytların sayısı.
GetDestinationStream(Stream)
Giriş için hedef akış, süslenmiş olabilir.
protected abstract Stream GetDestinationStream(Stream outputStream)
Parametreler
outputStream
Stream
Giriş için çıkış akışı.
Dönüşler
Giriş sıkıştırması için hedef akış.
Open(string)
Girişi çıkarma için açar ve 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ı parola.
Dönüşler
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
Akıştan okuyarak dosyanın orijinal içeriğini alın. Örnekler bölümüne bakın.
#### İstisnalar
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
Arşiv çıkarma için açılmamıştır. - veya - Bu giriş bir dizindir.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
Giriş içinde yanlış veri.
### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_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önderen, bir Aspose.Zip.SevenZip.SevenZipArchiveEntry örneğidir.
Çok iş parçacıklı modda LZMA2 girişleri için tetiklenmez.