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; }
Значение свойства
Примечания
Чем больше словарь, тем лучше обычно коэффициент сжатия, но словари, превышающие несжатые данные, являются расточительством оперативной памяти.
CompressionProgressed
Вызывается, когда часть необработанного потока сжата.
public event EventHandler<progresseventargs> CompressionProgressed
Тип события
EventHandler<ProgressEventArgs>
Примеры
lzmaArchiveSettings.CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };