zoukankan      html  css  js  c++  java
  • C#实现文件的压缩和解压缩

    在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、使用实例:

    Code
    我只使用了GZIP的压缩,代码如下:
    Code

    GZIP最终压缩为gz格式的压缩文件,而不是zip格式的压缩文件,一开始不明白乱用一气,但方法是对的。

    下面介绍如假包换的zip压缩文件的方法,其实都大同小异:

    Code

    详细学习如何压缩文件访问下面2个网址,教你如何压缩多文件,我上面的压缩只针对单个文件

    http://www.cnblogs.com/zhoubin689/archive/2008/01/03/1025131.html

    http://blog.csdn.net/chinull/archive/2009/03/03/3953681.aspx

  • 相关阅读:
    NET中的类型和装箱/拆箱原理
    转 C# 装箱和拆箱[整理]
    理解线程同步
    IsBackground的理解
    赛马会面试题
    FTP上传类
    FTPS加密上传
    转载WPF SDK研究 之 AppModel
    SQL Server查看错误日志存档编号及其详情
    Hive基础编程入门(一)
  • 原文地址:https://www.cnblogs.com/sunyaling/p/1434602.html
Copyright © 2011-2022 走看看