Class SevenZipArchiveEntry
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
يمثل ملفًا فرديًا داخل أرشيف 7z.
public abstract class SevenZipArchiveEntry : IArchiveFileEntry
الوراثة
المشتقات
SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain
التنفيذ
الأعضاء الموروثة
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
معلومات الملف أو الدليل الذي تستند إليه الإدخال.
الاستثناءات
الـ name
فارغ أو null.
الخصائص
CompressedSize
يحصل على حجم الملف المضغوط.
public ulong CompressedSize { get; }
قيمة الخاصية
CompressionSettings
يحصل على إعدادات الضغط أو فك الضغط.
public SevenZipCompressionSettings CompressionSettings { get; }
قيمة الخاصية
FileAttributes
يحصل على سمات الملف من النظام المضيف.
protected FileAttributes FileAttributes { get; }
قيمة الخاصية
IsDirectory
يحصل على قيمة تشير إلى ما إذا كانت الإدخال تمثل دليلاً.
public bool IsDirectory { get; }
قيمة الخاصية
ModificationTime
يحصل على تاريخ ووقت آخر تعديل.
public DateTime ModificationTime { get; }
قيمة الخاصية
Name
يحصل على اسم الإدخال داخل الأرشيف.
public string Name { get; protected set; }
قيمة الخاصية
Source
يحصل على دفق مصدر البيانات للإدخال.
protected Stream Source { get; set; }
قيمة الخاصية
UncompressedSize
يحصل على حجم الملف الأصلي.
public ulong UncompressedSize { get; }
قيمة الخاصية
الطرق
Extract(string, string)
يستخرج الإدخال إلى نظام الملفات بواسطة المسار المقدم.
public FileInfo Extract(string path, string password = null)
المعلمات
path
string
المسار إلى الملف الوجهة. إذا كان الملف موجودًا بالفعل، فسيتم الكتابة فوقه.
password
string
كلمة مرور اختيارية لفك التشفير.
العائدات
معلومات الملف للملف المركب.
الأمثلة
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract("data.bin");
}
الاستثناءات
path
فارغ.
لا يمتلك المتصل الإذن المطلوب للوصول.
الـ path
فارغ، يحتوي فقط على مسافات بيضاء، أو يحتوي على أحرف غير صالحة.
تم رفض الوصول إلى الملف path
.
يتجاوز الـ path
المحدد، أو اسم الملف، أو كليهما الطول الأقصى المحدد من قبل النظام. على سبيل المثال، على منصات Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
الملف في path
يحتوي على علامة نقطية (:) في منتصف السلسلة.
الأرشيف تالف.
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);
}
الاستثناءات
destination
لا يدعم الكتابة.
الأرشيف غير مفتوح للاستخراج. - أو - هذه الإدخال هي دليل.
بيانات خاطئة داخل الإدخال.
FinalizeCompressedData(Stream, byte[])
اكتب إلى دفق الإخراج أي رؤوس تتبع البيانات المضغوطة.
protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)
المعلمات
outputStream
Stream
دفق الإخراج للإدخال.
encoderProperties
byte[]
خصائص الضاغط.
العائدات
عدد “البايتات الفنية” التي تمت إضافتها بعد كتلة البيانات الهامة للإدخال.
GetDestinationStream(Stream)
دفق الوجهة للإدخال، قد يكون مزينًا.
protected abstract Stream GetDestinationStream(Stream outputStream)
المعلمات
outputStream
Stream
دفق الإخراج للإدخال.
العائدات
دفق الوجهة لضغط الإدخال.
Open(string)
يفتح الإدخال للاستخراج ويقدم دفقًا بمحتوى الإدخال.
public Stream Open(string password = null)
المعلمات
password
string
كلمة مرور اختيارية لفك التشفير.
العائدات
الدفق الذي يمثل محتويات الإدخال.
الأمثلة
الاستخدام:
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>
الأمثلة
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
ملاحظات
مرسل الحدث هو مثيل Aspose.Zip.SevenZip.SevenZipArchiveEntry.
لا يتم استدعاؤه في وضع متعدد الخيوط لإدخالات LZMA2.