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 ...
随机推荐
- [FJOI2007]轮状病毒 题解(dp(找规律)+高精度)
[FJOI2007]轮状病毒 题解(dp(找规律)+高精度) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1335733 没什么好说的,直接把规律找出来,有 ...
- Sublime Text 3 安装及汉化操作
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等.还可自定义键绑定,菜单和工具栏.Sublime Text 的主要功能包括:拼写检查,书签,完整的 ...
- PCIeのType0与Type1型配置请求与BAR(基地址寄存器)
PCIe中存在两种配置空间Type0&type1,TYPE0对应非桥设备(Endpoint),Type1对应桥设备(Root和Switch端口中的P2P桥)因为Root每个端口总都含有一个P2 ...
- 计算机系统结构总结_Memory Review
这次就边学边总结吧,不等到最后啦 Textbook: <计算机组成与设计——硬件/软件接口> HI <计算机体系结构——量化研究方法> QR Ch3. Memor ...
- Linux中设置别名alias永久生效
现在有个项目目录位于/var/www/html/tp5下 这也是我经常用到的工作目录 为了避免每次进入此目录 都需要输入 cd /var/www/html/tp5 可以加上述命令加入别名 alias ...
- ThinkPHP视图css和js加上版本号防止缓存
前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_C ...
- k3 cloud凭证过账的时候提示凭证号不连续
解决办法:进入凭证查询页面,点击凭证业务操作下面的凭证整理 提交整理完成即可
- 解密Qt安装目录的结构
http://c.biancheng.net/view/3866.html 了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌.Windows 和 ...
- vb中typename函数
适用于获得一个变量的类型名称的, 比如 A 是一个字符串变量,那么 TypeName(A)=String
- 北京师范大学第十五届ACM决赛-重现赛C Captcha Cracker (字符串模拟)
链接:https://ac.nowcoder.com/acm/contest/3/C 来源:牛客网 Captcha Cracker 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26 ...