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

توضیحات

قبل از تخصیص، منبع null است. این منبع ممکن است در برخی موارد درون متد <code>Archive.Save</code> تخصیص یابد.

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 null است.

SecurityException

فراخوانی‌کننده مجوز لازم برای دسترسی را ندارد.

ArgumentException

path خالی است، فقط شامل فضاهای خالی است، یا شامل کاراکترهای نامعتبر است.

UnauthorizedAccessException

دسترسی به فایل path رد شده است.

PathTooLongException

path، نام فایل، یا هر دو از حداکثر طول تعریف‌شده توسط سیستم بیشتر است. به عنوان مثال، در پلتفرم‌های مبتنی بر ویندوز، مسیرها باید کمتر از 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 است.

 فارسی