Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
نمایش ورودی فایل درون آرشیو xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
وراثت
object ← XarEntry ← XarFileEntry
پیادهسازیها
اعضای وراثت یافته
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()
ویژگیها
طول
طول ورودی را به بایت به دست میآورد.
public long Length { get; }
مقدار ویژگی
متدها
Extract(string)
ورودی را به سیستم فایل با مسیر ارائه شده استخراج میکند.
public FileInfo Extract(string path)
پارامترها
path
string
مسیر به فایل مقصد. اگر فایل از قبل وجود داشته باشد، بازنویسی خواهد شد.
بازگشت
اطلاعات فایل فایل ترکیبی.
مثالها
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
استثناها
path
نال است.
فراخوانی کننده مجوز لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضاهای خالی است یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو بیش از حداکثر طول تعریف شده توسط سیستم هستند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در path
شامل دو نقطه (:) در وسط رشته است.
آرشیو خراب است.
Extract(Stream)
ورودی را به جریانی که ارائه شده است استخراج میکند.
public void Extract(Stream destination)
پارامترها
destination
Stream
جریان مقصد. باید قابل نوشتن باشد.
مثالها
استخراج یک ورودی از آرشیو xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
استثناها
destination
از نوشتن پشتیبانی نمیکند.
آرشیو خراب است.
Open()
ورودی را برای استخراج باز میکند و جریانی با محتوای ورودی فراهم میکند.
public Stream Open()
بازگشت
جریانی که محتوای ورودی را نشان میدهد.
مثالها
استفاده:
Stream decompressed = entry.Open();
.NET 4.0 و بالاتر - از متد Stream.CopyTo استفاده کنید:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 و قبل از آن - بایتها را به صورت دستی کپی کنید:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### یادداشتها
از جریان بخوانید تا محتوای اصلی فایل را به دست آورید. به بخش مثالها مراجعه کنید.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed
زمانی که بخشی از جریان خام فشرده میشود، ایجاد میشود.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
نوع رویداد
EventHandler<ProgressEventArgs>
مثالها
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
یادداشتها
فرستنده رویداد یک نمونه از Aspose.Zip.Xar.XarFileEntry است.