首先下载ionic.Zip.dll,然后在项目中添加该引用,之后就可以在cs中使用了:

        using Ionic.Zip;  
  
     #region Ionic.Zip压缩文件
private readonly string zipFileName = "testzip";
private readonly string destinationPath;
private readonly string destinationPathPrefix = "E:\\"; //压缩方法一
public void ExeCompressOne()
{
string timeStamp = DateTime.Now.ToString("yyMMddHHmmssff");
destinationPath = destinationPathPrefix + zipFileName + timeStamp;
string destinationFilePath = destinationPath + ".zip"; //ZipFile实例化一个压缩文件保存路径的一个对象zip
using (ZipFile zip = new ZipFile(destinationFilePath, Encoding.Default))
{
//压缩率
zipFile.CompressionLevel = CompressionLevel.Level9;
zipFile.UseZip64WhenSaving = Zip64Option.Never;
//加密压缩
zip.Password = "123456";
//将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
zip.AddDirectory(destinationPath);
//将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
//zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");
zip.Save();
}
} //压缩方法二
public void ExeCompressTwo()
{
string timeStamp = DateTime.Now.ToString("yyMMddHHmmssff");
destinationPath = destinationPathPrefix + zipFileName + timeStamp;
string destinationFilePath = destinationPath + ".zip"; //ZipFile实例化一个对象zip
using (ZipFile zip = new ZipFile())
{
//压缩率
zipFile.CompressionLevel = CompressionLevel.Level9;
zipFile.UseZip64WhenSaving = Zip64Option.Never;
//加密压缩
zip.Password = "123456";
//将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
zip.AddDirectory(destinationPath);
//将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
//zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");
//用zip对象中Save重载方法保存压缩的文件,参数为保存压缩文件的路径
zip.Save(destinationFilePath);
}
}
#endregion #region 删除压缩包中的文件
//从zip文件中删除一个文件,注意无法直接删除一个文件夹
public void ExeDelete(string FileName)
{
using (ZipFile zip = ZipFile.Read(destinationFilePath))
{
//zip["test1.xml"] = null;
//删除zip对象中的一个文件,假设存在文件为test1.xml
zip.RemoveEntry("test1.xml");
zip.Save();
}
}
#endregion #region 压缩完成后删除临时文件
var d = new DirectoryInfo(destinationPath);
d.Delete(true);
#endregion

  

  

PS:C#如何以管理员身份运行程序

【 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。】

在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,勾选“启用ClickOnce安全设置”,这时,在项目下面会多出一个“app.manifest”的文件,选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,然后再次打开“属性--安全性”界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。

C# Note17: 使用Ionic.Zip.dll实现解压缩文件的更多相关文章

  1. ICSharpCode.SharpZipLib.dll,MyZip.dll,Ionic.Zip.dll 使用

    MyZip.dll : 有BUG,会把子目录的文件解压到根目录.. ICSharpCode.SharpZipLib.dll: 把ICSharpCode.SharpZipLib.dll复制一份,重命名为 ...

  2. Ionic.Zip.dll文件压缩和解压

    Ionic.Zip.dll文件压缩和解压 下载地址: http://download.csdn.net/detail/yfz19890410/5578515 1.下载Ionic.Zip.dll组件,添 ...

  3. C# zip压缩 Ionic.Zip.dll

    #region Ionic.Zip压缩文件 //压缩方法一 public void ExeCompOne() { string FileName = DateTime.Now.ToString(&qu ...

  4. PHP之Zip扩展,解压缩文件,ZipArchive类

    <?php $zip = new ZipArchive();//新建一个对象 /* $zip->open这个方法第一个参数表示处理的zip文件名. 第二个参数表示处理模式,ZipArchi ...

  5. 开源项目 11 Ionic Zip

    using Ionic.Zip; using System; using System.Collections.Generic; using System.IO; using System.Linq; ...

  6. 07_Linux目录文件操作命令4解压缩,文件查找_我的Linux之路

    这一节还是一样学习操作目录文件的命令 在这一节,我会讲到解压压缩tar以及zip命令,以及文本查找命令grep tar 打包压缩命令 tar命令可以为linux的文件和目录创建档案 首先要弄清两个概念 ...

  7. Java实现解压缩文件和文件夹

    一 前言 项目开发中,总会遇到解压缩文件的时候.比如,用户下载多个文件时,服务端可以将多个文件压缩成一个文件(例如xx.zip或xx.rar).用户上传资料时,允许上传压缩文件,服务端进行解压读取每一 ...

  8. C#压缩、解压缩文件(夹)(rar、zip)

    主要是使用Rar.exe压缩解压文件(夹)(*.rar),另外还有使用SevenZipSharp.dll.zLib1.dll.7z.dll压缩解压文件(夹)(*.zip).需要注意的几点如下: 1.注 ...

  9. zip压缩与解压缩示例

    范例: zip命令可以用来将文件压缩成为常用的zip格式.unzip命令则用来解压缩zip文件. 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip: # zip -r y ...

随机推荐

  1. 设计模式のNullObjectPattern(空对象模式)----行为模式

    一.产生背景 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查.Null 对象不是检查空值,而是反应一个不做任何动作的关系.这样的 Null 对象也可 ...

  2. UVA11694-Gokigen Naname(DFS进阶)

    Problem UVA11694-Gokigen Naname Accept: 76   Submit: 586Time Limit: 10000 mSec Problem Description I ...

  3. python入门学习:4.if语句

    python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试   if语句基本格式如下,注意不要漏了冒号 1if 条件 :2     ...

  4. 【angularJS】过滤器

    1.分类: <1>内置过滤器(见4) <2>自定义过滤器 2.作用:接收一个输入,通过某个规则进行处理,然后返回处理后的结果 3.应用: <1>在模板中使用 用法 ...

  5. 003_Git & Gitlab 使用指南

    2016-02-23   |   9,129字   |   分类于 工具  |   3条评论 去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SV ...

  6. Y7000 (1)安装ubuntu1604遇到的问题

    1安装系统 分区的时候 /boot  不再是引导分区 换成 “为系统bois保留的分区” 这个分区取代 /boot 2第一次进系统没有图形界面 在刚开机 ubuntu系统时 按e 在splash后面空 ...

  7. linux命令之netstat

    功能:打印网络连接.路由表.接口统计信息.伪装连接和多播成员 参数 -r 显示路由表 -i 显示接口表 -n 不解析名字 -p 显示程序名 PID/Program -l 显示监听的 socket -a ...

  8. Python中print和return的区别

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10742671.html 一.解释 1.ret ...

  9. Csharp—碎片知识积累

    1.获取应用程序的工作目录 2.将两个字符串组成一个新的路径: 3.MessageBox使用(弹出一个消息框)(第一个参数是消息内容,第二个参数是消息标题,第三个参数是按钮设置,第四个参数是消息内容前 ...

  10. Java NIO5:通道和文件通道

    一.通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字 ...