码迷,mamicode.com
首页 > Windows程序 > 详细

C#解压缩DotNetZip

时间:2017-03-10 01:11:06      阅读:376      评论:0      收藏:0      [点我收藏+]

标签: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" -> 解压后的文本存放的位置

技术分享

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

本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1904780

C#解压缩DotNetZip

标签:c# 解压缩 dotnetzip

原文地址:http://aonaufly.blog.51cto.com/3554853/1904780

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!