在C#中实现文件的压缩和解压缩,需要使用第三方的组建完成。常用的是:SharpZipLib组建。
下载地址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx
这里是我下载好的,直接使用:/Files/sunyaling/ICSharpCode.SharpZipLib.rar
1、压缩和解压缩有两种典型的算法,一种是BZIP2算法,另一种是GZIP算法。BZIP2能够获得较高的压缩比,但是压缩和解压缩比较耗时,GZIP效率比较高,但是压缩比较低。
2、BZIP2压缩算法的相关类,位于命名空间:ICSharpCode.SharpZipLib.BZip2中,算法要求指定输入流和输出流,并指定压缩方法使用的块大小,一般为2048.
3、GZIP压缩算法的相关类,位于命名空间:ICSharpCode.SharpZipLib.GZip中,首先创建GZipOutputStream类实例,作为压缩文件的输出流,使用GZipOutputStream类实例的Write方法,将从源文件读取的数据写入输入流。同时完成压缩运算。
4、使用实例:
}
}
我只使用了GZIP的压缩,代码如下:
}
}
GZIP最终压缩为gz格式的压缩文件,而不是zip格式的压缩文件,一开始不明白乱用一气,但方法是对的。
下面介绍如假包换的zip压缩文件的方法,其实都大同小异:
}
详细学习如何压缩文件访问下面2个网址,教你如何压缩多文件,我上面的压缩只针对单个文件
http://www.cnblogs.com/zhoubin689/archive/2008/01/03/1025131.html
http://blog.csdn.net/chinull/archive/2009/03/03/3953681.aspx