public void XZ() { Joveler.Compression.XZ.XZCompressOptions compOpts = new Joveler.Compression.XZ.XZCompressOptions() { BufferSize = BufferSize, }; Joveler.Compression.XZ.XZDecompressOptions decompOpts = new Joveler.Compression.XZ.XZDecompressOptions() { BufferSize = BufferSize, }; byte[] xzData; using (MemoryStream ms = new MemoryStream()) { using (MemoryStream rms = new MemoryStream(_srcData)) using (Joveler.Compression.XZ.XZStream xzs = new Joveler.Compression.XZ.XZStream(ms, compOpts)) { rms.CopyTo(xzs); } xzData = ms.ToArray(); } using (MemoryStream ms = new MemoryStream()) { using (MemoryStream rms = new MemoryStream(xzData)) using (Joveler.Compression.XZ.XZStream xzs = new Joveler.Compression.XZ.XZStream(rms, decompOpts)) { xzs.CopyTo(ms); } } }
public double XZ_Native() { long compLen; byte[] rawData = SrcFiles[SrcFileName]; using (MemoryStream ms = new MemoryStream()) { Joveler.Compression.XZ.XZCompressOptions compOpts = new Joveler.Compression.XZ.XZCompressOptions { Level = XZLevelDict[Level], LeaveOpen = true, }; using (MemoryStream rms = new MemoryStream(rawData)) using (Joveler.Compression.XZ.XZStream xzs = new Joveler.Compression.XZ.XZStream(ms, compOpts)) { rms.CopyTo(xzs); } ms.Flush(); compLen = ms.Position; } CompRatio = (double)compLen / rawData.Length; return(CompRatio); }