zoukankan      html  css  js  c++  java
  • SharpZipLib压缩解压

    一、介绍

    SharpZipLib是一个完全由C#编写的ZIP,GZIP,Tar和BZIP2 Library,可以方便的支持这几种格式的压缩和解压缩。

    https://github.com/icsharpcode/SharpZipLib 下载解压SharpZipLib ,将 ICSharpCode.SharpZipLib .dll 添加至项目引用中.

    二、操作指南

    1.1  创建zip文件,并添加文件:

    using (ZipFile zip = ZipFile.Create(@"E:	est.zip"))
    {
    zip.BeginUpdate();
    zip.Add(@"E:文件1.txt");
    zip.Add(@"E:文件2.txt");
    zip.CommitUpdate();
    }

    1.2 将文件夹压缩为文件

    (new FastZip()).CreateZip(@"E:	est.zip", @"E:	est", true, "");

    最后一个参数是使用正则表达式表示的过滤文件规则。CreateZip方法有3个重载版本,其中有目录过滤参数、文件过滤参数及用于指定是否进行子目录递归的一个bool类型的参数。

    1.3 将文件添加到已有zip文件中

    using (ZipFile zip = new ZipFile(@"E:	est.zip"))
    {
    zip.BeginUpdate();
    zip.Add(@"E:	est.doc");
    zip.CommitUpdate();
    }

    1.4 列出zip文件中文件

    using (ZipFile zip = new ZipFile(@"E:	est.zip"))
    {
    string list = string.Empty;
    foreach (ZipEntry entry in zip)
    {
    list += entry.Name + "
    ";
    }
    MessageBox.Show(list);
    }

    1.5  删除zip文件中的一个文件

    using (ZipFile zip = new ZipFile(@"E:	est.zip"))
    {
    zip.BeginUpdate();
    zip.Delete(@"test.doc");
    zip.Delete(@"test22.txt");
    zip.CommitUpdate();
    }

    1.6 解压zip文件中文件到指定目录下

    (new FastZip()).ExtractZip(@"E:	est.zip", @"E:	est", "");

    三、 常用类

    ZipInputStream、GZipInputStream用于解压缩Deflate、GZip格式流,

    ZipOutputStream、GZipOutputStream用于压缩Deflate、GZip格式流。

    StreamUtil类包含了几个Stream处理辅助方法:

    1) Copy(Stream, Stream, Byte[])用于从一个Stream对象中复制数据到另一Stream对象。有多个重写。

    2) ReadFully(Stream, Byte [])用于从Stream对象中读取所有的byte数据。有多个重写。

  • 相关阅读:
    中国剩余定理
    exgcd(扩展欧几里得)求同余式
    hdu 4557 :非诚勿扰(vector + 二分)
    ZOJ 1094:Matrix Chain Multiplication(栈)
    ZOJ1004: Anagrams by Stack(dfs + 栈模拟)
    洛谷 P1038 :神经网络(BFS && 拓扑排序)
    51Nod 1459:迷宫游戏(Dijkstra)
    51 Nod 1640: 天气晴朗的魔法(Krustra 并查集)
    打印文件中的内容
    print directory(打印目录)
  • 原文地址:https://www.cnblogs.com/springsnow/p/9399292.html
Copyright © 2011-2022 走看看