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

  • 相关阅读:
    css 样式 图片平铺整个界面
    div垂直居中 css div盒子上下垂直居中
    .net 日期格式转换
    一个DIV三列布局100%高度自适应的好例子(国外)
    TFS2012团队管理基本配置及基础使用方法
    转-CSS3 圆角(border-radius)
    webpack进阶用法你都get到了么?
    webpack4的配置你都掌握了么?
    初入webpack
    番外篇:一篇读懂浏览器结构
  • 原文地址:https://www.cnblogs.com/sunyaling/p/1434602.html
Copyright © 2011-2022 走看看