温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#解压缩DotNetZip

发布时间:2020-06-21 14:05:39 来源:网络 阅读:2007 作者:Aonaufly 栏目:编程语言

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

C#解压缩DotNetZip

将压缩包解压引用 :

C#解压缩DotNetZip

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

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

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变量都采取控制台输入方式

现测试如下:

C#解压缩DotNetZip

运行程序:

C#解压缩DotNetZip

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

C#解压缩DotNetZip

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

C#解压缩DotNetZip


现在看看如何解压:

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

C#解压缩DotNetZip

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI