Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
نماینده یک فایل واحد درون آرشیو است.
public abstract class RarArchiveEntry : IArchiveFileEntry
وراثت
مشتق شده
RarArchiveEntryEncrypted, RarArchiveEntryPlain
پیادهسازیها
اعضای وراثت یافته
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; }
مقدار ویژگی
CreationTime
تاریخ و زمان ایجاد را دریافت میکند.
public DateTime CreationTime { get; }
مقدار ویژگی
IsDirectory
یک مقدار را دریافت میکند که نشان میدهد آیا ورودی نمایانگر دایرکتوری است یا خیر.
public bool IsDirectory { get; }
مقدار ویژگی
LastAccessTime
تاریخ و زمان آخرین دسترسی را دریافت میکند.
public DateTime LastAccessTime { get; }
مقدار ویژگی
ModificationTime
تاریخ و زمان آخرین تغییر را دریافت میکند.
public DateTime ModificationTime { get; }
مقدار ویژگی
Name
نام ورودی درون آرشیو را دریافت میکند.
public string Name { get; }
مقدار ویژگی
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
رمز عبور اختیاری برای رمزگشایی.
بازگشت
اطلاعات فایل از فایل ترکیبی.
مثالها
دو ورودی از آرشیو 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");
}
}
استثناها
path
نال است.
تماس گیرنده اجازه لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضای خالی است، یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو از طول حداکثر تعریف شده توسط سیستم تجاوز کردهاند. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 248 کاراکتر و نام فایلها باید کمتر از 260 کاراکتر باشد.
فایل در path
شامل یک دو نقطه (:) در وسط رشته است.
فایل پیدا نشد.
مسیر مشخص شده نامعتبر است، مانند اینکه در یک درایو نامنقشهگذاری شده باشد.
فایل در حال حاضر باز است.
داده خراب است. -یا- تأیید 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$");
}
}
استثناها
تأیید CRC یا MAC برای ورودی شکست خورده است.
destination
از نوشتن پشتیبانی نمیکند.
داده خراب است. -یا- تأیید CRC یا MAC برای ورودی شکست خورده است.
Open(string)
ورودی را برای استخراج باز میکند و جریانی با محتوای ورودی فشردهنشده ارائه میدهد.
public Stream Open(string password = null)
پارامترها
password
string
رمز عبور اختیاری برای رمزگشایی. همچنین میتواند در Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword تنظیم شود.
بازگشت
جریانی که محتوای ورودی را نمایان میکند.
مثالها
استفاده:
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>
مثالها
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
توضیحات
فرستنده رویداد یک نمونه از Aspose.Zip.Rar.RarArchiveEntry است.