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; }
مقدار ویژگی
توضیحات
قبل از تخصیص، منبع null است. این منبع ممکن است در برخی موارد درون متد <code>Archive.Save</code>
تخصیص یابد.
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
null است.
فراخوانیکننده مجوز لازم برای دسترسی را ندارد.
path
خالی است، فقط شامل فضاهای خالی است، یا شامل کاراکترهای نامعتبر است.
دسترسی به فایل path
رد شده است.
path
، نام فایل، یا هر دو از حداکثر طول تعریفشده توسط سیستم بیشتر است. به عنوان مثال، در پلتفرمهای مبتنی بر ویندوز، مسیرها باید کمتر از 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 است.