Net支持gzip 压缩格式 压缩与解压

时间:2021-09-22 19:57:37

在网上看到这篇感觉有用,转过来,存下

.Net支持两种压缩格式:GZip和Deflate。其中,GZip可以被WinRAR打开。

使用起来很简单,下面的程序将字符串压缩入文件:

                 using  (DeflateStream gzip  =   new  DeflateStream(fs, CompressionMode.Compress))
                {
                    
byte [] buf  =  Encoding.UTF8.GetBytes( this .txbSource.Text);
                    gzip.Write(buf, 
0 , buf.Length);
                    gzip.Flush();
                }

解压只需要这样:

            gzip  =   new  GZipStream( new  MemoryStream(buf), CompressionMode.Decompress);
            
using  (StreamReader reader  =   new  StreamReader(gzip))
            {
                
this .txbTarget.Text  =  reader.ReadToEnd();
            }

如果从文件解压,只需要把MemoryStream换成一个FileStream就行了。
当然,需要加:using System.IO.Compression;