示例#1
0
文件: ZLib.cs 项目: rxantos/tesv-snip
        private static BinaryReader Decompress(byte[] buffer, int expectedSize = 0)
        {
            if (buffer == null) {
                throw new ArgumentNullException("buffer");
            }

            var output = new MemoryStream(expectedSize);
            try {
                using (var inflater = new DotZLib.Inflater()) {
                    inflater.DataAvailable += output.Write;
                    inflater.Add(buffer, 0, buffer.Length);
                }

                output.Position = 0;
                return new BinaryReader(output);
            }
            catch {
                output.Dispose();
                throw;
            }
        }
示例#2
0
        private static BinaryReader Decompress(byte[] buffer, int expectedSize = 0)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException("buffer");
            }

            var output = new MemoryStream(expectedSize);

            try {
                using (var inflater = new DotZLib.Inflater()) {
                    inflater.DataAvailable += output.Write;
                    inflater.Add(buffer, 0, buffer.Length);
                }

                output.Position = 0;
                return(new BinaryReader(output));
            }
            catch {
                output.Dispose();
                throw;
            }
        }