Class ArchiveEntry
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
يمثل ملفًا فرديًا داخل الأرشيف.
public abstract class ArchiveEntry : IArchiveFileEntry
الوراثة
المشتقات
ArchiveEntryEncrypted, ArchiveEntryPlain
التنفيذ
الأعضاء الموروثة
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>
طريقة تعيد دفقًا يحتوي على بيانات الإدخال التي سيتم ضغطها.
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; }
قيمة الخاصية
CompressedSize
يحصل على حجم الملف المضغوط.
public ulong CompressedSize { get; }
قيمة الخاصية
CompressionSettings
يحصل على الإعدادات لضغط أو فك ضغط البيانات.
public CompressionSettings CompressionSettings { get; }
قيمة الخاصية
DataSource
المصدر للإدخال إذا تمت إضافة الإدخال إلى الأرشيف، وليس مستخرجًا.
public Stream DataSource { get; }
قيمة الخاصية
ملاحظات
قبل التعيين، يكون المصدر فارغًا. قد يتم تعيين هذا المصدر ضمن Archive.Save
في بعض الحالات.
FileAttributes
يحصل على سمات الملف من النظام المضيف.
protected FileAttributes FileAttributes { get; }
قيمة الخاصية
IsDirectory
يحصل على قيمة تشير إلى ما إذا كان الإدخال يمثل دليلًا.
public bool IsDirectory { get; }
قيمة الخاصية
ModificationTime
يحصل أو يحدد تاريخ ووقت آخر تعديل.
public DateTime ModificationTime { get; set; }
قيمة الخاصية
Name
يحصل على اسم الإدخال داخل الأرشيف.
public string Name { get; protected set; }
قيمة الخاصية
UncompressedSize
يحصل على حجم الملف الأصلي.
public ulong UncompressedSize { get; }
قيمة الخاصية
الطرق
Extract(string, string)
يستخرج الإدخال إلى نظام الملفات بواسطة المسار المقدم.
public FileInfo Extract(string path, string password = null)
المعلمات
path
string
المسار إلى الملف الوجهة. إذا كان الملف موجودًا بالفعل، فسيتم الكتابة فوقه.
password
string
كلمة مرور اختيارية لفك التشفير.
العائدات
معلومات الملف عن الملف المركب.
أمثلة
استخرج إدخالين من أرشيف 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");
}
}
الاستثناءات
path
هو فارغ.
المتصل ليس لديه الإذن المطلوب للوصول.
path
فارغ، يحتوي فقط على مسافات بيضاء، أو يحتوي على أحرف غير صالحة.
تم رفض الوصول إلى الملف path
.
المسار المحدد path
، أو اسم الملف، أو كليهما يتجاوز الطول الأقصى المحدد من قبل النظام. على سبيل المثال، على الأنظمة الأساسية المستندة إلى Windows، يجب أن تكون المسارات أقل من 248 حرفًا، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
الملف في path
يحتوي على نقطتين (:) في منتصف السلسلة.
لم يتم العثور على الملف.
المسار المحدد غير صالح، مثل كونه على محرك غير مخصص.
الملف مفتوح بالفعل.
البيانات تالفة. - أو - فشل التحقق من 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$");
}
}
الاستثناءات
البيانات تالفة. - أو - فشل التحقق من CRC أو MAC للإدخال.
المصدر تالف أو غير قابل للقراءة.
destination
لا يدعم الكتابة.
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>
#### ملاحظات
<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>
أمثلة
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
ملاحظات
مرسل الحدث هو مثيل Aspose.Zip.ArchiveEntry.
ExtractionProgressed
يتم رفعه عندما يتم استخراج جزء من الدفق الخام.
public event EventHandler<progresseventargs> ExtractionProgressed
نوع الحدث
EventHandler<ProgressEventArgs>
أمثلة
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
ملاحظات
مرسل الحدث هو مثيل Aspose.Zip.ArchiveEntry.