Exemplo n.º 1
0
        private static byte[] ZlibDecompress(Stream data, int expectedLength)
        {
            using (MemoryStream output = new MemoryStream(expectedLength))
            {
#if WITH_DOTNETZIP
                using (var stream = new Ionic.Zlib.ZlibStream(data, Ionic.Zlib.CompressionMode.Decompress))
                {
                    stream.CopyTo(output);
                }
#elif WITH_SHARPCOMPRESS
                using (var stream = new SharpCompress.Compressors.Deflate.ZlibStream(data, SharpCompress.Compressors.CompressionMode.Decompress))
                {
                    stream.CopyTo(output);
                }
#elif WITH_SHARPZIPLIB
                using (var stream = new ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream(data))
                {
                    stream.CopyTo(output);
                }
#else
                throw new NotImplementedException("Please define which compression library you want to use");
#endif
                return(output.ToArray());
            }
        }
Exemplo n.º 2
0
        public long ZLib_Managed()
        {
            byte[] compData = SrcFiles[$"{Level}_{SrcFileName}.zz"];
            using MemoryStream ms = new MemoryStream();
            using (MemoryStream rms = new MemoryStream(compData))
                using (SharpCompress.Compressors.Deflate.ZlibStream zs = new SharpCompress.Compressors.Deflate.ZlibStream(rms, SharpCompress.Compressors.CompressionMode.Decompress))
                {
                    zs.CopyTo(ms);
                }

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