C#解压缩DotNetZip

DotNetZipLib类库的地址:http://dotnetzip.codeplex.com/

将压缩包解压引用 :

注意:以下所有代码都是控制台应用程序

先来一个测试(生成一个压缩包):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ionic.Zip;
namespace ZipKayer
{
    public class Program
    {
        public static void Main()
        {
            Console.WriteLine("Press a path to zip by ENTER: ");
            string ZipFileToCreate = Console.ReadLine();
            Console.WriteLine("Press a path to create by ENTER:");
            string DirectoryToZip = Console.ReadLine();
            try
            {
                using (ZipFile zip = new ZipFile())
                {
                    String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip);
                    foreach (String filename in filenames)
                    {
                        Console.WriteLine("Adding {0}...", filename);
                        ZipEntry e = zip.AddFile(filename);
                        e.Comment = "Added by Cheeso‘s CreateZip utility.";
                    }
                    zip.Comment = String.Format("This zip archive was created by the CreateZip example application on machine ‘{0}‘",
                       System.Net.Dns.GetHostName());
                    zip.Save(ZipFileToCreate);
                }
            }
            catch (System.Exception ex1)
            {
                Console.WriteLine("exception: " + ex1);
            }
            Console.Read();
        }
    }
}

代码解释:

①:ZipFileToCreate : 为生成Zip文件的字符串path

②:DirectoryToZip : 需要生成Zip的文件夹的Path

以上2个String变量都采取控制台输入方式

现测试如下:

运行程序:

运行的结果 , 会在相关目录下(ZipFileToCreate)生成一个Housing.zip的压缩文件

打开ZIP文件发现,Root是Happy(E盘以下的一个文件夹),而且中文的docx名称

现在看看如何解压:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ionic.Zip;
namespace ZipKayer
{
    public class Program
    {
        public static void Main()
        {
            try
            {
                ReadOptions options = new ReadOptions { StatusMessageWriter = System.Console.Out };
                using (ZipFile zip = ZipFile.Read(@"E:\Happy\Housing\Housing.zip", options))
                {
                    zip.ExtractAll(@"E:\Happy");
                }
            }
            catch (System.Exception ex1)
            {
                System.Console.Error.WriteLine("exception: " + ex1);
            }
            Console.Read();
        }
    }
}

解释:

①:@"E:\Happy\Housing\Housing.zip" -> 需要解压的Zip文件

②:@"E:\Happy" -> 解压后的文本存放的位置

所以 , 对于程序来说,没事不要取中文名字。

时间: 2024-10-24 10:32:28

C#解压缩DotNetZip的相关文章

Ubuntu解压缩zip,tar,tar.gz,tar.bz2

ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用.缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好.闲话少说,我们步入正题吧: 我们可以使用下列的命令压缩一个目录: # zip -r archive_name.zip directory_to_compress 下面是如果解压一个zip文档: # unzip archive_name.zip TAR Tar是在Linu

linux 解压缩命令

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中

linux下常见解压缩命令

linux下常见的压缩文件格式有tar.gz.tar.gz.tar.bz2.zip等等.对于不同的压缩文件格式有对应的解压缩命令.下面就对此小结一下: 1.后缀为.tar 用 tar –xvf 解压 2.后缀为.gz 用 gzip -d或者gunzip 解压 3.后缀为.tar.gz和*.tgz 用 tar –xzf 解压 4.后缀为.bz2 用 bzip2 -d或者用bunzip2 解压 5.后缀为.tar.bz2用tar –xjf 解压 6.后缀为.Z 用 uncompress 解压 7.后

Linux下 文件夹 压缩 解压缩 打包

http://blog.sina.com.cn/s/blog_7479f7990100zwkp.html tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件. tar -zcvf  /home/xahot.tar.gz /xahot 如果提示不要"/" 则写作 tar -zcvf  /home/xahot.tar.gz  x

MySQL 5.7及以上解压缩版本配置安装

来源:http://jingyan.baidu.com/article/8cdccae946133f315513cd6a.html 红色部分为本人添加 MySQL 5.7以上版本的配置和以前有所不同,在这里与大家分享一下经验. 工具/原料 MySQL 5.7及以上版本压缩包 windows 7及更高版本 方法/步骤 解压缩 将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:\Program Files\mysql-5.7.10-winx64 添加环境变量 右键计算机->属性->高级系

谢烟客---------Linux之压缩解压缩及归档工具的使用

压缩工具 compress/uncompress:  .Z结尾 gzip/gunzip: .gz结尾 bzip2/bunzip2: .bz2结尾 xz/unxz: .xz后缀 压缩及归档工具: zip/unzip 归档工具: tar,cpio(特殊场景) gzip/gunzip/zcat命令 1.LZ77压缩算法 2.压缩比不高:快速.高效 3.压缩/解压缩后删除原文件,为了节约空间 4.纯文本压缩,二进制压缩意义不大 5.压缩目录,-r gzip [OPTIONS...] FILE     -

Linux系统压缩及解压缩

==============================================================================  Linux系统解压缩 ============================================================================== 概述: 本篇将介绍Linux系统中的压缩和解压缩的工具,以及归档工具(tar,cpio) compress/uncompress:对应 .Z 结尾的压缩格式文件

软件项目技术点(19)——文件的保存和打开(解压缩)

保存文件 保存内容有哪些? 我们需要保存的内容信息 1)context.json 存储画布状态信息和所有元素的配置信息(这个文件在过程中生成) 2)插入的图片.音频.视频等资源 3)所用到的字体文件 4)每一帧的缩略图 将这些文件压缩到一个zip包里,我们的作品保存后的文件是dbk后缀格式的,其实就是一个压缩zip文件. 保存过程步骤解析 1)获取要保存的对象信息dtoCore,后面将其转换成字符串string后存储到文件里. 2)将保存作品用到的资源整理到fileList中,fileList对

Jcompress: 一款基于huffman编码和最小堆的压缩、解压缩小程序

前言 最近基于huffman编码和最小堆排序算法实现了一个压缩.解压缩的小程序.其源代码已经上传到github上面: Jcompress下载地址 .在本人的github上面有一个叫Utility的repository,该分类下面有一个名为Jcompress的目录便是本文所述的压缩.解压缩小程序的源代码.后续会在Utility下面增加其他一些实用的小程序,比如基于socket的文件断点下载小程序等等.如果你读了此文觉得还不错,不防给笔者的github点个star, 哈哈.在正式介绍Jcompres