Class LzmaArchiveSettings
Namespace: Aspose.Zip.LZMA
Assembly: Aspose.Zip.dll (25.1.0)
تنظیمات برای آرشیو lzma.
public class LzmaArchiveSettings
وراثت
اعضای وراثت یافته
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
توضیحات
الگوریتم زندهسازی لمپل–زیو–مارکوف (LZMA) الگوریتمی است که برای فشردهسازی دادهها بدون از دست دادن اطلاعات استفاده میشود. این الگوریتم از یک طرح فشردهسازی دیکشنری استفاده میکند که به نوعی مشابه الگوریتم LZ77 است و دارای نسبت فشردهسازی بالا و اندازه دیکشنری فشردهسازی متغیر است.
اطلاعات بیشتر: https://en.wikipedia.org/wiki/Lempel–Ziv–Markov_chain_algorithm
سازندهها
LzmaArchiveSettings()
یک نمونه جدید از کلاس Aspose.Zip.LZMA.LzmaArchiveSettings را با اندازه دیکشنری پیشفرض، برابر با 16 مگابایت، مقداردهی میکند.
public LzmaArchiveSettings()
مثالها
using (LzmaArchive archive = new LzmaArchive(new LzmaArchiveSettings() { DictionarySize = 1048576 } )
{
archive.SetSource("data.bin);
archive.Save(lzmaFile);
}
ویژگیها
DictionarySize
اندازه دیکشنری (بافر تاریخچه) نشان میدهد که چند بایت از دادههای بدون فشردهسازی که اخیراً پردازش شدهاند در حافظه نگهداری میشود. اگر تنظیم نشود، مطابق با اندازه ورودی انتخاب خواهد شد.
public int DictionarySize { get; set; }
مقدار ویژگی
توضیحات
هر چه دیکشنری بزرگتر باشد، معمولاً نسبت فشردهسازی بهتر است، اما دیکشنریهای بزرگتر از دادههای بدون فشردهسازی موجب اتلاف RAM میشوند.
CompressionProgressed
هنگامی که بخشی از جریان خام فشرده میشود، فعال میشود.
public event EventHandler<progresseventargs> CompressionProgressed
نوع رویداد
EventHandler<ProgressEventArgs>
مثالها
lzmaArchiveSettings.CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };