Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
xar arşivindeki dosya girişini temsil eder.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Miras
object ← XarEntry ← XarFileEntry
Uygular
Miras Alınan Üyeler
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Özellikler
Uzunluk
Girişin bayt cinsinden uzunluğunu alır.
public long Length { get; }
Özellik Değeri
Metodlar
Çıkart(string)
Girişi sağlanan yol ile dosya sistemine çıkarır.
public FileInfo Extract(string path)
Parametreler
path
string
Hedef dosya yolu. Dosya zaten mevcutsa, üzerine yazılacaktır.
Döner
Oluşturulan dosyanın bilgileri.
Örnekler
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
İstisnalar
path
null.
Arayanın erişim için gerekli izni yok.
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 tarafından tanımlanan 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
içindeki dosya, dize içinde bir iki nokta üst üste (:) içeriyor.
Arşiv bozulmuş.
Çıkart(Stream)
Girişi sağlanan akışa çıkarır.
public void Extract(Stream destination)
Parametreler
destination
Stream
Hedef akış. Yazılabilir olmalıdır.
Örnekler
xar arşivinin bir girişini çıkarın.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
İstisnalar
destination
yazmayı desteklemiyor.
Arşiv bozulmuş.
Aç()
Girişi çıkartma için açar ve giriş içeriği ile bir akış sağlar.
public Stream Open()
Döner
Girişin içeriğini temsil eden akış.
Örnekler
Kullanım:
Stream decompressed = entry.Open();
.NET 4.0 ve üzeri - Stream.CopyTo metodunu 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>
#### Notlar
Orijinal dosyanın içeriğini almak için akıştan okuyun. Örnekler bölümüne bakın.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> Sıkıştırmaİlerledi
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.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Notlar
Olay gönderen, bir Aspose.Zip.Xar.XarFileEntry örneğidir.