System.IO.Compression.GZipStream

代码
///   <summary>
///  压缩
///   </summary>
///   <param name="srcFile"></param>
///   <param name="zipFile"></param>
public   static   void  Compress( string  srcFile,  string  zipFile)
{
    FileStream fsSrc 
=  File.Open(srcFile, FileMode.Open);
    FileStream fsDes 
=  File.Create(zipFile);
    GZipStream compress 
=   new  GZipStream(fsDes, CompressionMode.Compress);

    
try
    {
        
byte [] buffer  =   new   byte [fsSrc.Length];
        fsSrc.Read(buffer, 
0 , ( int )fsSrc.Length);

        compress.Write(buffer, 
0 , buffer.Length);
        compress.Flush();
    }
    
finally
    {
        compress.Close();
        fsDes.Close();
        fsSrc.Close();
    }
}

///   <summary>
///  解压
///   </summary>
///   <param name="zipFile"></param>
///   <param name="desFile"></param>
public   static   void  Decompress( string  zipFile,  string  desFile)
{
    FileStream fsSrc 
=  File.Open(zipFile, FileMode.Open);
    GZipStream compress 
=   new  GZipStream(fsSrc, CompressionMode.Decompress);
    FileStream fsDes 
=  File.Create(desFile);

    
try
    {
        
byte [] buffer  =   new   byte [ 1024   *   10 ];

        
int  i  =   0 ;
        
while  ((i  =  compress.Read(buffer,  0 , buffer.Length))  >   0 )
        {
            
if  (i  >   0 )
            {
                fsDes.Write(buffer, 
0 , i);
            }
        }

        fsDes.Flush();
    }
    
finally
    {
        fsDes.Close();
        compress.Close();
        fsSrc.Close();
    }
}

转载于:https://www.cnblogs.com/live41/archive/2009/11/29/1612955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值