数据压缩

      string _string = "String";
            MemoryStream _MemoryStream = new MemoryStream();
            //压缩存储
            GZipStream _GZipStream = new GZipStream(
                _MemoryStream,
                CompressionMode.Compress,
                true);                  //Stream派生类,重写Read,Write方法,以读取,写入压缩数据
            byte[] _bytes = Encoding.Default.GetBytes(_string);
            _GZipStream.Write(_bytes, 0, _bytes.Length);         //[方法]压缩存储


            //读取已压缩的数据
            _bytes = new byte[_MemoryStream.Length];
            _MemoryStream.Position = 0;
            _MemoryStream.Read(_bytes, 0, (int)_MemoryStream.Length);
            _GZipStream.Close();


            //解压读取
            _MemoryStream.Position = 0;
            _GZipStream = new GZipStream(
                _MemoryStream,
                CompressionMode.Decompress,
                true);
            _bytes = new byte[0x400];//申请足够大的空间来存放解压缩数据
            int iRead = _GZipStream.Read(_bytes, 0, 0x400);      //[方法]解压读取
            _string = Encoding.Default.GetString(_bytes, 0, iRead);
            Console.WriteLine(_string);


            _GZipStream.Close();
            _MemoryStream.Close();

你可能感兴趣的:(数据压缩)