Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

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

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

الوراثة

objectSevenZipArchiveEntry

المشتقات

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

التنفيذ

IArchiveFileEntry

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

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

ملاحظات

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

البانيات

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

يبدأ مثيلًا جديدًا من فئة Aspose.Zip.SevenZip.SevenZipArchiveEntry.

protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

المعلمات

parent SevenZipArchive

name string

اسم الإدخال.

compressionSettings SevenZipCompressionSettings

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

source Stream

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

fileAttributes FileAttributes

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

fileInfo FileSystemInfo

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

الاستثناءات

ArgumentException

الـ name فارغ أو null.

الخصائص

CompressedSize

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

public ulong CompressedSize { get; }

قيمة الخاصية

ulong

CompressionSettings

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

public SevenZipCompressionSettings CompressionSettings { get; }

قيمة الخاصية

SevenZipCompressionSettings

FileAttributes

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

protected FileAttributes FileAttributes { get; }

قيمة الخاصية

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

قيمة الخاصية

bool

ModificationTime

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

public DateTime ModificationTime { get; }

قيمة الخاصية

DateTime

Name

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

public string Name { get; protected set; }

قيمة الخاصية

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

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

الأمثلة

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

الاستثناءات

ArgumentNullException

path فارغ.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

InvalidDataException

الأرشيف تالف.

Extract(Stream, string)

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

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

المعلمات

destination Stream

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

password string

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

الأمثلة

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

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

الاستثناءات

ArgumentException

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

InvalidOperationException

الأرشيف غير مفتوح للاستخراج. - أو - هذه الإدخال هي دليل.

InvalidDataException

بيانات خاطئة داخل الإدخال.

FinalizeCompressedData(Stream, byte[])

اكتب إلى دفق الإخراج أي رؤوس تتبع البيانات المضغوطة.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

المعلمات

outputStream Stream

دفق الإخراج للإدخال.

encoderProperties byte[]

خصائص الضاغط.

العائدات

int

عدد “البايتات الفنية” التي تمت إضافتها بعد كتلة البيانات الهامة للإدخال.

GetDestinationStream(Stream)

دفق الوجهة للإدخال، قد يكون مزينًا.

protected abstract Stream GetDestinationStream(Stream outputStream)

المعلمات

outputStream Stream

دفق الإخراج للإدخال.

العائدات

Stream

دفق الوجهة لضغط الإدخال.

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

#### ملاحظات

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

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

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

الأرشيف غير مفتوح للاستخراج. - أو - هذه الإدخال هي دليل.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

بيانات خاطئة داخل الإدخال.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_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.SevenZip.SevenZipArchiveEntry.

لا يتم استدعاؤه في وضع متعدد الخيوط لإدخالات LZMA2.

 عربي