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; }
قيمة الخاصية
الطرق
استخراج(string)
يستخرج الإدخال إلى نظام الملفات بواسطة المسار المقدم.
public FileInfo Extract(string path)
المعلمات
path
string
المسار إلى ملف الوجهة. إذا كان الملف موجودًا بالفعل، سيتم الكتابة فوقه.
العائدات
معلومات الملف للملف المركب.
الأمثلة
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
الاستثناءات
path
هو null.
المتصل ليس لديه الإذن المطلوب للوصول.
path
فارغ، يحتوي فقط على مسافات بيضاء، أو يحتوي على أحرف غير صالحة.
تم رفض الوصول إلى الملف path
.
المسار المحدد path
، اسم الملف، أو كليهما يتجاوز الطول الأقصى المحدد من قبل النظام. على سبيل المثال، على المنصات المعتمدة على Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
الملف عند path
يحتوي على نقطتين (:) في منتصف السلسلة.
الأرشيف تالف.
استخراج(Stream)
يستخرج الإدخال إلى التدفق المقدم.
public void Extract(Stream destination)
المعلمات
destination
Stream
تدفق الوجهة. يجب أن يكون قابلًا للكتابة.
الأمثلة
استخرج إدخال من أرشيف xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
الاستثناءات
destination
لا يدعم الكتابة.
الأرشيف تالف.
افتح()
يفتح الإدخال للاستخراج ويوفر تدفقًا بمحتوى الإدخال.
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.