Class CabEntry
Namespace: Aspose.Zip.Cab
Assembly: Aspose.Zip.dll (25.1.0)
يمثل ملفًا واحدًا داخل أرشيف cab.
public sealed class CabEntry : IArchiveFileEntry
الوراثة
التنفيذ
الأعضاء الموروثة
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
الخصائص
الطول
يحصل على طول الإدخال بالبايت.
public uint Length { get; }
قيمة الخاصية
الاسم
يحصل على اسم الإدخال داخل الأرشيف.
public string Name { get; }
قيمة الخاصية
الطرق
استخراج(string)
يستخرج الإدخال إلى نظام الملفات بواسطة المسار المقدم.
public FileInfo Extract(string path)
المعلمات
path
string
المسار إلى ملف الوجهة. إذا كان الملف موجودًا بالفعل، فسيتم استبداله.
العائدات
معلومات الملف عن الملف المركب.
أمثلة
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract("data.bin");
}
الاستثناءات
path
هو null.
المنادي لا يمتلك الإذن المطلوب للوصول.
path
فارغ، يحتوي فقط على مسافات بيضاء، أو يحتوي على أحرف غير صالحة.
تم رفض الوصول إلى الملف path
.
المسار المحدد path
، اسم الملف، أو كليهما يتجاوزان الطول الأقصى المحدد بواسطة النظام. على سبيل المثال، في أنظمة التشغيل المعتمدة على Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
الملف في path
يحتوي على نقطتين (:) في منتصف السلسلة.
لم يتم العثور على الملف.
المسار المحدد غير صالح، مثل أن يكون على محرك غير مخصص.
الملف مفتوح بالفعل.
فشل تهيئة التدفق بسبب بيانات خاطئة.
الأرشيف تالف.
استخراج(Stream)
يستخرج الإدخال إلى التدفق المقدم.
public void Extract(Stream destination)
المعلمات
destination
Stream
تدفق الوجهة. يجب أن يكون قابلًا للكتابة.
أمثلة
استخراج إدخال من أرشيف cab.
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract(httpResponseStream);
}
الاستثناءات
destination
لا يدعم الكتابة.
فشل تهيئة التدفق بسبب بيانات خاطئة.
الأرشيف تالف.
فتح()
يفتح الإدخال للاستخراج ويوفر تدفقًا بمحتوى الإدخال.
public Stream Open()
العائدات
التدفق الذي يمثل محتويات الإدخال.
أمثلة
الاستخدام:
Stream decompressed = entry.Open();
.نت 4.0 وما فوق - استخدم طريقة Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.نت 3.5 وما قبل - انسخ البايتات يدويًا:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### الملاحظات
اقرأ من التدفق للحصول على المحتوى الأصلي للملف. انظر قسم الأمثلة.
#### الاستثناءات
[NotSupportedException](https://learn.microsoft.com/dotnet/api/system.notsupportedexception)
فشل تهيئة التدفق بسبب بيانات خاطئة.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
الأرشيف تالف.
### <a id="Aspose_Zip_Cab_CabEntry_ToString"></a> ToString\(\)
```csharp
public override string ToString()