Пример #1
0
        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);
                    }
            }
        }
Пример #2
0
        public long XZ_Native()
        {
            byte[] compData = SrcFiles[$"{Level}_{SrcFileName}.xz"];
            using MemoryStream ms = new MemoryStream();
            Joveler.Compression.XZ.XZDecompressOptions decompOpts = new Joveler.Compression.XZ.XZDecompressOptions();
            using (MemoryStream rms = new MemoryStream(compData))
                using (Joveler.Compression.XZ.XZStream zs = new Joveler.Compression.XZ.XZStream(rms, decompOpts))
                {
                    zs.CopyTo(ms);
                }

            ms.Flush();
            return(ms.Length);
        }