Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Arşiv içindeki tek bir dosyayı temsil eder.
public abstract class RarArchiveEntry : IArchiveFileEntry
Miras
Türetilen
RarArchiveEntryEncrypted, RarArchiveEntryPlain
Uygular
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.Rar.RarArchiveEntry örneğini Aspose.Zip.Rar.RarArchiveEntryEncrypted olarak dönüştürerek girişin şifreli olup olmadığını belirleyin.
Özellikler
CompressedSize
Sıkıştırılmış dosyanın boyutunu alır.
public ulong CompressedSize { get; }
Özellik Değeri
CreationTime
Oluşturulma tarihini ve saatini alır.
public DateTime CreationTime { get; }
Özellik Değeri
IsDirectory
Girişin bir dizini temsil edip etmediğini belirten bir değer alır.
public bool IsDirectory { get; }
Özellik Değeri
LastAccessTime
Son erişim tarihini ve saatini alır.
public DateTime LastAccessTime { get; }
Özellik Değeri
ModificationTime
Son değişiklik tarihini 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; }
Özellik Değeri
Source
Giriş için veri kaynak 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 yol ile dosya sistemine çıkarır.
public FileInfo Extract(string path, string password = null)
Parametreler
path
string
Hedef dosyanın yolu. Dosya zaten varsa, üzerine yazılacaktır.
password
string
Şifre çözme için isteğe bağlı şifre.
Dönüş Değeri
Oluşturulan dosyanın dosya bilgisi.
Örnekler
Rar arşivinin iki girişini çıkarın.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
İstisnalar
path
null.
Çağrıcı, erişim için gerekli izne sahip değildir.
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ıdır 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çersiz, örneğin, haritalanmamış bir sürücüde.
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 rar arşivinin bir girişini çıkarın.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
İstisnalar
Giriş için CRC veya MAC doğrulaması başarısız oldu.
destination
yazmayı desteklemiyor.
Veri bozuldu. -veya- Giriş için CRC veya MAC doğrulaması başarısız oldu.
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. Ayrıca Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword içinde ayarlanabilir.
Dönüş Değeri
Girişin içeriklerini 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>Orijinal dosyanın içeriğini almak için akıştan okuyun. Örnekler bölümüne bakın.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
Ham akışın bir kısmı çıkarıldığında tetiklenir.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
Olay Türü
EventHandler<ProgressEventArgs>
Örnekler
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
Açıklamalar
Olay gönderen bir Aspose.Zip.Rar.RarArchiveEntry örneğidir.