C# Note17: 使用Ionic.Zip.dll实现解压缩文件
首先下载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
【 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。】
在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,勾选“启用ClickOnce安全设置”,这时,在项目下面会多出一个“app.manifest”的文件,选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,然后再次打开“属性--安全性”界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。

C# Note17: 使用Ionic.Zip.dll实现解压缩文件的更多相关文章
- ICSharpCode.SharpZipLib.dll,MyZip.dll,Ionic.Zip.dll 使用
MyZip.dll : 有BUG,会把子目录的文件解压到根目录.. ICSharpCode.SharpZipLib.dll: 把ICSharpCode.SharpZipLib.dll复制一份,重命名为 ...
- Ionic.Zip.dll文件压缩和解压
Ionic.Zip.dll文件压缩和解压 下载地址: http://download.csdn.net/detail/yfz19890410/5578515 1.下载Ionic.Zip.dll组件,添 ...
- C# zip压缩 Ionic.Zip.dll
#region Ionic.Zip压缩文件 //压缩方法一 public void ExeCompOne() { string FileName = DateTime.Now.ToString(&qu ...
- PHP之Zip扩展,解压缩文件,ZipArchive类
<?php $zip = new ZipArchive();//新建一个对象 /* $zip->open这个方法第一个参数表示处理的zip文件名. 第二个参数表示处理模式,ZipArchi ...
- 开源项目 11 Ionic Zip
using Ionic.Zip; using System; using System.Collections.Generic; using System.IO; using System.Linq; ...
- 07_Linux目录文件操作命令4解压缩,文件查找_我的Linux之路
这一节还是一样学习操作目录文件的命令 在这一节,我会讲到解压压缩tar以及zip命令,以及文本查找命令grep tar 打包压缩命令 tar命令可以为linux的文件和目录创建档案 首先要弄清两个概念 ...
- Java实现解压缩文件和文件夹
一 前言 项目开发中,总会遇到解压缩文件的时候.比如,用户下载多个文件时,服务端可以将多个文件压缩成一个文件(例如xx.zip或xx.rar).用户上传资料时,允许上传压缩文件,服务端进行解压读取每一 ...
- C#压缩、解压缩文件(夹)(rar、zip)
主要是使用Rar.exe压缩解压文件(夹)(*.rar),另外还有使用SevenZipSharp.dll.zLib1.dll.7z.dll压缩解压文件(夹)(*.zip).需要注意的几点如下: 1.注 ...
- zip压缩与解压缩示例
范例: zip命令可以用来将文件压缩成为常用的zip格式.unzip命令则用来解压缩zip文件. 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip: # zip -r y ...
随机推荐
- C#事件の事件解析
事件(event)是基于windows消息处理机制的类,封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来.委托(delegate)委托可以理解成为函数指针,不同的 ...
- 总结 Linux 下安装 PHP 扩展步骤
总结一下 Linux 下安装 PHP 扩展步骤,这里以安装 PHP 的 redis 扩展为例. 一.拿到扩展包下载地址,下载扩展包 pecl 上搜索 redis wget http://pecl.ph ...
- 【angularjs】使用angular搭建项目,滚动距离
常用方法 滚动到顶部:$ionicScrollDelegate.scrollTop();或者$ionicScrollDelegate.$getByHandle('视图句柄').scrollTop(); ...
- MSYS2 简单配置
Windows 下用 SWIG 打包 C/C++ 为 Python 接口的时候,需要用到 32-bit/64-bit 编译器,MSYS2 给出了个一揽子方案,安装见其官方网站. 本文主要记录 MSYS ...
- 深入剖析kafka架构内部原理
1 概述 Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cl ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- python中numpy.pad简单填充0用法
# -*- coding: utf-8 -*-"""Created on Sun Apr 28 22:07:02 2019 @author: jiangshan" ...
- keystone系列三:网关协议
一 静态页面和动态页面 在了解了http协议后,我们知晓,一个web server的本质就是 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应 ...
- UIImageView - BNR
继续上节UINavigationController - BNR. 打开BNRDetailViewController.xib文件,向view中添加UIImageView对象,选中该对象,通过Attr ...
- Centos7 安装 Redis
关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...