c# 用DotNetZip来解压/压缩文件
//https://archive.codeplex.com/?p=dotnetzip
//最新在Nuget 下载DotNetZip using Ionic.Zip; private void button1_Click(object sender, EventArgs e)
{
string msg = "";
ExtractFile("D:\\1.zip", "d:\\OK\\");
ExtractFile("D:\\1.zip", "d:\\OK\\", false, out msg);
} public static bool ZipFolder(
String sourceFilePath,
String targetFileFullPath,
Boolean isUsePassword,
Int32 maxOutputSegmentSiez,
out String errMessage)
{
try
{
using (ZipFile zip = new ZipFile(Encoding.Default))
{
errMessage = String.Empty;
zip.Comment = "压缩文件时间" + System.DateTime.Now.ToString("G");
zip.Name = Guid.NewGuid().ToString().ToUpper() + ".zip";
if (isUsePassword)
zip.Password = "123";
zip.MaxOutputSegmentSize = maxOutputSegmentSiez * 1000;
zip.BufferSize = 1024;
zip.CaseSensitiveRetrieval = true;
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddDirectory(sourceFilePath);
zip.Save(targetFileFullPath);
return true;
}
}
catch (Exception ex) { errMessage = ex.Message; return false; }
} public static bool ExtractFile(String sourceFileFullPath, String targetFolderPath, Boolean isUsePassword, out String errMessage)
{
try
{
Encoding encoding = Encoding.UTF8;
errMessage = String.Empty;
var options = new ReadOptions { StatusMessageWriter = System.Console.Out, Encoding = encoding };
using (ZipFile zip = ZipFile.Read(sourceFileFullPath, options))
{
if (isUsePassword)
{ //假设有密码123
zip.Password = "123";
}
zip.AlternateEncoding = encoding;
zip.ExtractAll(targetFolderPath, ExtractExistingFileAction.OverwriteSilently);//一次批量解压
return true;
}
}
catch (Exception ex) { errMessage = ex.Message; return false; }
} public static bool ExtractFile(String sourceFileFullPath, String targetFolderPath)
{
try
{
Encoding encoding = Encoding.UTF8; var options = new ReadOptions { StatusMessageWriter = System.Console.Out, Encoding = encoding };
using (ZipFile zip = ZipFile.Read(sourceFileFullPath, options))
{
zip.AlternateEncoding = encoding;
foreach (var f in zip.Entries)
{//一个个解压
f.Extract(targetFolderPath, ExtractExistingFileAction.OverwriteSilently);
} return true;
}
}
catch (Exception ex)
{ return false;
}
}
c# 用DotNetZip来解压/压缩文件的更多相关文章
- linux解压/压缩文件
1.*.tar 用 tar –xvf 解压 2.*.gz 用 gzip -d或者gunzip 解压 3.*.tar.gz和*.tgz 用 tar –xzf 解压 4.*.bz2 用 bzip2 ...
- Qt 解压/压缩文件
很久没有在博客园写随笔了,今天项目需要解压和压缩文件,所以去了解哈. 参考的是大神的代码:https://yq.aliyun.com/articles/24428. 使用的是 QuaZIP类. 类 说 ...
- 解压压缩文件报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
压缩包是直接weget 后面加官网上的tar包地址获取的 [root@xuegod43 ~]# tar -zxvf /home/hadoop/hadoop-2.6.5-src.tar.gz gzip ...
- Linux 解压 压缩文件
来源于:http://blog.csdn.net/mmllkkjj/article/details/6768294/ 解压 tar –xvf file.tar //解压 tar包tar -xzvf f ...
- Bug :”解压压缩文件失败: cpio; 在头中不存在归档“
问题描述: 在rpm包目录下执行rpm -ivh *rpm -force时,出现标题错误 解决办法: *src.rpm包也就源码包不能被直接进行安装,需要先将src.rpm包进行编译生成二进制的rpm ...
- Linux解压rar文件
Linux解压rar文件(unrar安装和使用,分卷解压) windows平台很多压缩文档为rar文件,那么怎么做到Linux解压rar文件(unrar安装和使用)? 简单,centos5安装unra ...
- Java 压缩/ 解压 .Z 文件
1.问题描述 公司项目有需要用 JAVA 解压 .z文件. .z 是 unix 系统常见的压缩文件. 2.源码 import com.chilkatsoft.CkUnixCompress; impor ...
- (转载)C#压缩解压zip 文件
转载之: C#压缩解压zip 文件 - 大气象 - 博客园http://www.cnblogs.com/greatverve/archive/2011/12/27/csharp-zip.html C# ...
- tar 多文件解压压缩
tar 多文件解压:因为tar -zxvf一次值能解压一个文件,所以用xargs -n1 .先查找 ls *gz | xargs -n1 tar -zxvf .要解压的文件在list中 cat lis ...
随机推荐
- 编写的Java第一个程序
没什么好介绍的,嘻嘻 package head; public class ee { public static void main(String[] args) { System.out.print ...
- 使用GET与POST方式获取html数据
抓取网站数据解析的工作,其中,使用到GET和POST方法获取html数据. 使用GET方式: /** * 使用get方式获取html数据 * * @param strURL(需要访问的网站) * @r ...
- unittest生成报告
# html报告文件路径 report_abspath = os.path.join(report_path, "result.html") fp = open(rep ...
- CSS完整
CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...
- Maven 添加其他Maven组件配置问题
在父工程的pom文件里,添加如下配置 <project> <!--其它配置--> <modules> <module>A项目文件夹</module ...
- Linux vim程序编辑器
Tips: 在 vi 里面, [tab] 这个按钮所得到的结果与空格符所得到的结果是不一样的,特别强调一下! 一般模式 移动光标 30↓ 向下移动30行 40→ 向右移动40个字符 gg 移动到档案第 ...
- VB中输入函数InputBox的用法
格式:InputBox(pronpt[,title][,default][,xpos,ypos]).其中的pronpt为窗口的提示词,title为输入窗口的标题,default为输入窗口的默认内容,x ...
- 团队项目作业-Beta版本发布
团队成员: 学号 姓名 201731062234 薛磊 201731062230 李林 201731062231 燕泓达 201731062232 陈东 201731062229 沈瑞琦 201731 ...
- Vue this.$nextTick原理
虽然 Vue.js 通常鼓励开发人员沿着“数据驱动”的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 Vue 完成更新 DO ...
- nginx图片过滤处理模块http_image_filter_module
nginx图片过滤处理模块http_image_filter_module安装配置笔记 http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54 ...