找传奇、传世资源到传世资源站!

使用C#对文件/流进行GZip的压缩和解压缩

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

使用C#对文件/流进行GZip\Deflate 的压缩和解压缩使用C#对文件/流进行GZip的压缩和解压缩 常用C#方法-第1张

 private void GZipProcess(Stream src, Stream desc, CompressionMode mode)
        {
            int len = 1024000;
            byte[] buffer = new byte[len];

            using (GZipStream compress = (mode == CompressionMode.Compress) ? new GZipStream(desc, CompressionLevel.Optimal) : new GZipStream(src, CompressionMode.Decompress))
            {
                if (mode == CompressionMode.Compress)
                {
                    //循环写入压缩的流
                    while ((len = src.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        compress.Write(buffer, 0, len);
                    }
                    desc.Flush();
                }
                else
                {
                    //循环读取解压的流
                    while ((len = compress.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        desc.Write(buffer, 0, len);
                    }
                    desc.Flush();
                }
            }
        }

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复