Class TarEntry
Namespace: Aspose.Zip.Tar
Assembly: Aspose.Zip.dll (25.1.0)
يمثل ملفًا واحدًا داخل أرشيف tar.
public class TarEntry : IArchiveFileEntry
الوراثة
ينفذ
الأعضاء الموروثة
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
الخصائص
IsDirectory
يحصل على قيمة تشير إلى ما إذا كانت الإدخال تمثل دليلًا.
public bool IsDirectory { get; }
قيمة الخاصية
Length
يحصل على طول الإدخال بالبايت.
public long Length { get; }
قيمة الخاصية
Name
يحصل على أو يحدد اسم الإدخال داخل الأرشيف.
public string Name { get; set; }
قيمة الخاصية
الطرق
Extract(string)
يستخرج الإدخال إلى نظام الملفات حسب المسار المقدم.
public FileSystemInfo Extract(string path)
المعلمات
path
string
المسار إلى ملف الوجهة. إذا كان الملف موجودًا بالفعل، فسيتم الكتابة فوقه.
العائدات
معلومات الملف الخاص بالملف المركب.
الأمثلة
using (var archive = new TarArchive("archive.tar"))
{
archive.Entries[0].Extract("data.bin");
}
الاستثناءات
path
هو null.
لا يمتلك المتصل الإذن المطلوب للوصول.
path
فارغ، يحتوي على مسافات بيضاء فقط، أو يحتوي على أحرف غير صالحة.
تم رفض الوصول إلى الملف path
.
المسار المحدد أو اسم الملف، أو كليهما يتجاوزان الطول الأقصى المحدد بواسطة النظام. على سبيل المثال، على الأنظمة الأساسية المعتمدة على Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
الملف في path
يحتوي على نقطتين (:) في منتصف السلسلة.
لم يتم العثور على الملف.
المسار المحدد غير صالح، مثل كونه على محرك غير مخصص.
الملف مفتوح بالفعل.
Extract(Stream)
يستخرج الإدخال إلى التدفق المقدم.
public void Extract(Stream destination)
المعلمات
destination
Stream
التدفق الوجهة. يجب أن يكون قابلًا للكتابة.
الأمثلة
استخرج إدخالًا من أرشيف tar.
using (var archive = new TarArchive("archive.tar"))
{
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>
#### الملاحظات
اقرأ من التدفق للحصول على المحتوى الأصلي للملف. راجع قسم الأمثلة.