Class RarArchiveEntry

Class RarArchiveEntry

Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)

يمثل ملفًا واحدًا داخل الأرشيف.

public abstract class RarArchiveEntry : IArchiveFileEntry

الوراثة

objectRarArchiveEntry

المشتقات

RarArchiveEntryEncrypted, RarArchiveEntryPlain

التنفيذ

IArchiveFileEntry

الأعضاء الموروثة

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

الملاحظات

قم بتحويل مثيل Aspose.Zip.Rar.RarArchiveEntry إلى Aspose.Zip.Rar.RarArchiveEntryEncrypted لتحديد ما إذا كانت الإدخال مشفرة أم لا.

الخصائص

CompressedSize

يحصل على حجم الملف المضغوط.

public ulong CompressedSize { get; }

قيمة الخاصية

ulong

CreationTime

يحصل على تاريخ ووقت الإنشاء.

public DateTime CreationTime { get; }

قيمة الخاصية

DateTime

IsDirectory

يحصل على قيمة تشير إلى ما إذا كانت الإدخال تمثل دليلًا.

public bool IsDirectory { get; }

قيمة الخاصية

bool

LastAccessTime

يحصل على تاريخ ووقت آخر وصول.

public DateTime LastAccessTime { get; }

قيمة الخاصية

DateTime

ModificationTime

يحصل على تاريخ ووقت آخر تعديل.

public DateTime ModificationTime { get; }

قيمة الخاصية

DateTime

Name

يحصل على اسم الإدخال داخل الأرشيف.

public string Name { get; }

قيمة الخاصية

string

Source

يحصل على تدفق مصدر البيانات للإدخال.

protected Stream Source { get; set; }

قيمة الخاصية

Stream

UncompressedSize

يحصل على حجم الملف الأصلي.

public ulong UncompressedSize { get; }

قيمة الخاصية

ulong

الطرق

Extract(string, string)

يستخرج الإدخال إلى نظام الملفات حسب المسار المقدم.

public FileInfo Extract(string path, string password = null)

المعلمات

path string

المسار إلى ملف الوجهة. إذا كان الملف موجودًا بالفعل، فسيتم الكتابة فوقه.

password string

كلمة مرور اختيارية لفك التشفير.

العائدات

FileInfo

معلومات الملف للملف المكون.

الأمثلة

استخرج إدخالين من أرشيف rar.

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");
    }
}

الاستثناءات

ArgumentNullException

path هو null.

SecurityException

لا يمتلك المتصل الإذن المطلوب للوصول.

ArgumentException

path فارغ، يحتوي فقط على مسافات بيضاء، أو يحتوي على أحرف غير صالحة.

UnauthorizedAccessException

تم رفض الوصول إلى الملف path.

PathTooLongException

المسار المحدد path، اسم الملف، أو كلاهما يتجاوز الطول الأقصى المحدد من قبل النظام. على سبيل المثال، على الأنظمة المستندة إلى Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.

NotSupportedException

الملف في path يحتوي على نقطتين (:) في منتصف السلسلة.

FileNotFoundException

لم يتم العثور على الملف.

DirectoryNotFoundException

المسار المحدد غير صالح، مثل كونه على محرك غير مخصص.

IOException

الملف مفتوح بالفعل.

InvalidDataException

البيانات تالفة. - أو - فشل التحقق من CRC أو MAC للإدخال.

Extract(Stream, string)

يستخرج الإدخال إلى التدفق المقدم.

public void Extract(Stream destination, string password = null)

المعلمات

destination Stream

تدفق الوجهة. يجب أن يكون قابلًا للكتابة.

password string

كلمة مرور اختيارية لفك التشفير.

الأمثلة

استخرج إدخالًا من أرشيف rar بكلمة مرور.

using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

الاستثناءات

InvalidDataException

فشل التحقق من CRC أو MAC للإدخال.

ArgumentException

destination لا يدعم الكتابة.

InvalidDataException

البيانات تالفة. - أو - فشل التحقق من CRC أو MAC للإدخال.

Open(string)

يفتح الإدخال للاستخراج ويوفر تدفقًا بمحتوى الإدخال الذي تم فك ضغطه.

public Stream Open(string password = null)

المعلمات

password string

كلمة مرور اختيارية لفك التشفير. يمكن أيضًا تعيينها ضمن Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.

العائدات

Stream

التدفق الذي يمثل محتويات الإدخال.

الأمثلة

الاستخدام: 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>

#### الملاحظات

<p>اقرأ من التدفق للحصول على المحتوى الأصلي للملف. انظر قسم الأمثلة.</p>

### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed

يتم رفعه عندما يتم استخراج جزء من التدفق الخام.

```csharp
public event EventHandler<progresseventargs> ExtractionProgressed

نوع الحدث

EventHandler<ProgressEventArgs&gt;

الأمثلة

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };

الملاحظات

مرسل الحدث هو مثيل Aspose.Zip.Rar.RarArchiveEntry.

 عربي