// C#
// xmlFile - MemoryStream создаётся и заполняется выше
using (FileStream packFile = new FileStream(dlg.FileName, FileMode.Create, FileAccess.Write, FileShare.Write))
{
SevenZip.CoderPropID[] propIDs =
{
SevenZip.CoderPropID.DictionarySize,
SevenZip.CoderPropID.PosStateBits,
SevenZip.CoderPropID.LitContextBits,
SevenZip.CoderPropID.LitPosBits,
SevenZip.CoderPropID.Algorithm,
SevenZip.CoderPropID.NumFastBytes,
SevenZip.CoderPropID.MatchFinder,
SevenZip.CoderPropID.EndMarker
};
Int32 dictionary = 29;
Int32 posStateBits = 4;
Int32 litContextBits = 3; // for normal files
// UInt32 litContextBits = 0; // for 32-bit data
Int32 litPosBits = 0;
// UInt32 litPosBits = 2; // for 32-bit data
Int32 algorithm = 2;
Int32 numFastBytes = 128;
string mf = "bt4";
bool eos = false;
object[] properties =
{
(Int32)(dictionary),
(Int32)(posStateBits),
(Int32)(litContextBits),
(Int32)(litPosBits),
(Int32)(algorithm),
(Int32)(numFastBytes),
mf,
eos
};
SevenZip.Compression.LZMA.Encoder encoder = new SevenZip.Compression.LZMA.Encoder();
encoder.SetCoderProperties(propIDs, properties);
encoder.WriteCoderProperties(packFile);
Int64 fileSize;
fileSize = xmlFile.Length;
for (int i = 0; i < 8; i++)
packFile.WriteByte((Byte)(fileSize >> (8 * i)));
encoder.Code(xmlFile, packFile, -1, -1, null);
}
Какие настройки в коде 7z установить для ультра сжатия
Код:
В результате на выходе получаю файл сжатый со степенью нормально.
Что мне нужно поменять добавить, чтоб жало с Ультра степенью?
PS исходники 7z не менял, всё стандартно.