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

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

دسترسی به فایل path ممنوع است.

PathTooLongException

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

 فارسی