Class ArchiveEntry

Class ArchiveEntry

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

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

public abstract class ArchiveEntry : IArchiveFileEntry

الوراثة

objectArchiveEntry

المشتقات

ArchiveEntryEncrypted, ArchiveEntryPlain

التنفيذ

IArchiveFileEntry

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

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

ملاحظات

قم بتحويل مثيل Aspose.Zip.ArchiveEntry إلى Aspose.Zip.ArchiveEntryEncrypted لتحديد ما إذا كان الإدخال مشفرًا أم لا.

البانيون

ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)

يهيئ مثيلًا جديدًا من فئة Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)

المعلمات

name string

اسم الإدخال.

compressionSettings CompressionSettings

الإعدادات لضغط أو فك ضغط البيانات.

sourceProvider Func<Stream&gt;

طريقة تعيد دفقًا يحتوي على بيانات الإدخال التي سيتم ضغطها.

fileAttributes FileAttributes

السمات من نظام الملفات.

ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)

يهيئ مثيلًا جديدًا من فئة Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

المعلمات

name string

اسم الإدخال.

compressionSettings CompressionSettings

الإعدادات لضغط أو فك ضغط البيانات.

source Stream

دفق يحتوي على بيانات الإدخال التي سيتم ضغطها أو فك ضغطها.

fileAttributes FileAttributes

السمات من نظام الملفات.

fileInfo FileSystemInfo

معلومات الملف أو الدليل التي يعتمد عليها الإدخال.

الخصائص

Comment

يحصل على تعليق الإدخال داخل الأرشيف.

public string Comment { get; protected set; }

قيمة الخاصية

string

CompressedSize

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

public ulong CompressedSize { get; }

قيمة الخاصية

ulong

CompressionSettings

يحصل على الإعدادات لضغط أو فك ضغط البيانات.

public CompressionSettings CompressionSettings { get; }

قيمة الخاصية

CompressionSettings

DataSource

المصدر للإدخال إذا تمت إضافة الإدخال إلى الأرشيف، وليس مستخرجًا.

public Stream DataSource { get; }

قيمة الخاصية

Stream

ملاحظات

قبل التعيين، يكون المصدر فارغًا. قد يتم تعيين هذا المصدر ضمن Archive.Save في بعض الحالات.

FileAttributes

يحصل على سمات الملف من النظام المضيف.

protected FileAttributes FileAttributes { get; }

قيمة الخاصية

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

قيمة الخاصية

bool

ModificationTime

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

public DateTime ModificationTime { get; set; }

قيمة الخاصية

DateTime

Name

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

public string Name { get; protected set; }

قيمة الخاصية

string

UncompressedSize

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

public ulong UncompressedSize { get; }

قيمة الخاصية

ulong

الطرق

Extract(string, string)

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

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

المعلمات

path string

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

password string

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

العائدات

FileInfo

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

أمثلة

استخرج إدخالين من أرشيف zip، كل منهما بكلمة مرور خاصة به

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

الاستثناءات

ArgumentNullException

path هو فارغ.

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

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

أمثلة

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

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

الاستثناءات

InvalidDataException

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

IOException

المصدر تالف أو غير قابل للقراءة.

ArgumentException

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

Open(string)

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

public Stream Open(string password = null)

المعلمات

password string

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

العائدات

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 &lt; (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### ملاحظات

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

#### الاستثناءات

[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

الأرشيف في حالة غير صحيحة.

### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed

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

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

نوع الحدث

EventHandler<ProgressEventArgs&gt;

أمثلة

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

ملاحظات

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

ExtractionProgressed

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

public event EventHandler<progresseventargs> ExtractionProgressed

نوع الحدث

EventHandler<ProgressEventArgs&gt;

أمثلة

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

ملاحظات

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

 عربي