(原创)C# 压缩解压那些事儿
吐槽:
搜狗推广API的报告服务太坑爹了!!!
搜狗推广API的报告服务太坑爹了!!!
搜狗推广API的报告服务太坑爹了!!!
搜狗的太垃圾了,获取下来的压缩包使用正常方式无法解压!!没有专门的API技术支持群,客服电话一直显示占线、、、我qnmd!
正文:
最近公司要求,再做一个自动下载压缩包、解压压缩包、读取压缩包中csv文件的功能,本以为是很稳定的事情了,没想到还有这么多插曲,今天特意记录下来看看
实现方式
目前比较流行的方式无外乎四种
1.使用ICSharpCode.SharpZipLib (Nuget中搜索)
正常的zip压缩包可以解压,主要方法:DeCompressionZip 使用ZipInputStream流+ZipEntry获取文件,循环的形式使用FileStream创建文件即可
2.使用DotNetZip (Nuget中搜索)
简单易用
using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(zipFilePath + extension))
{
zip.ExtractAll(zipFilePath, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);
}
3.使用微软自带的System.IO.Compression(貌似是.Net Framework4.5之后才支持)
更简单
System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
4.安装WinRar软件,调用注册表的地址进行解压
if (WinRarHelper.ExistSetupWinRar)
{
if (WinRarHelper.ExistSetupWinRar)
{
try
{
WinRarHelper.UnCompressRar(zipPath, extractPath);
}
catch (Win32Exception e1)
{
//Response.Write(e1.Message + "<br>" + "服务器端禁止是我们网站使用WinRar应用执行!<br>"); }
catch (Exception e1)
{
//Response.Write(e1.Message);
}
}
}
(原创)C# 压缩解压那些事儿的更多相关文章
- Linux 压缩解压
压缩解压 ------------------------------------------ linux 下所有的压缩格式,WinRAR 都支持 gzip .gz 格式 压缩文件: gzip 文件名 ...
- SAPCAR 压缩解压软件的使用方法
SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁包和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压.下面是它的使用说明: 用法: 创建 ...
- 对称加密之AES、压缩解压以及压缩加密解密解压综合实战
AES 压缩解压 压缩加密解密解压 对称加密: 就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密.密钥是控制加密及解密过程的指令.算法是一组规则,规定如何进行加密和解密. 因此加密的安 ...
- linux笔记:linux常用命令-压缩解压命令
压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成 ...
- .NET使用ICSharpCode.SharpZipLib压缩/解压文件
SharpZipLib是国外开源加压解压库,可以方便的对文件进行加压/解压 1.下载ICSharpCode.SharpZipLib.dll,并复制到bin目录下 http://www.icsharpc ...
- linux驱动系列之文件压缩解压小节(转)
转至网页:http://www.jb51.net/LINUXjishu/43356.html Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通 ...
- Linux的压缩解压命令快速上手——解压篇
在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...
- RAR压缩解压命令
RAR压缩解压命令 这几天一直没空更新博客,现在补上: 先介绍一下rar的命令格式及相关参数含义(摘自rar): 用法: rar <命令> -<开关 1> -<开关 ...
- 使用SevenZipSharp压缩/解压7z格式
7z格式采用的LZMA算法,号称具有现今最高压缩率.笔者在nuget上搜索7z,在搜索结果中最终选择了SevenZipSharp来进行压缩/解压.不得不说,SevenZipSharp的API设计得非常 ...
随机推荐
- layout 的应用
在XAF的开发中,详细Detail 或组合DashBoard页面,需要使用 LayoutControl 进行控件排列,下面讲述如何通过写代码进行操作. 0.DevExpress 的布局控件(DevEx ...
- shell 在手分析服务器日志【转】
自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! awk '{print $1 ...
- 设计模式C++学习笔记之十九(State状态模式)
19.1.解释 概念:允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类. main(),客户 CLiftState,电梯状态抽象类 CCloseingState,电梯门关闭 ...
- Date——时间戳转化为YYYY-MM-DD h:m:s时间格式
/** * example new Date(times) * @param time Date * @param fmt "yyyy-MM-dd" /"yyyy-MM- ...
- [WebRTC/JsSIP] AUDIO RTP REPORTS ERROR: [Remote Address Error!]
问题描述: 在使用FreeSWITCH WebRTC 测试时,FS回复 502 Bad Gateway.查看FS日志 [DEBUG] switch_core_media.c:5147 AUDIO R ...
- which命令和bin目录
命令: which 作用: 查看执行命令所在位置 使用: which ls which useradd 等等... bin和sbin: 绝大多数可执行文件都保存在 /bin./sbin./usr/bi ...
- 重启报错:Failed to open /dev/initctl: No such device or address
[root@WEB-APP-REP-MASTER ~]# rebootError getting authority: Error initializing authority: Error call ...
- jemter 新增sha256函数
1 https://blog.csdn.net/y100100/article/details/80701049 2 https://blog.csdn.net/y100100/article/d ...
- SELinux简介(转载)
几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见.不过随着日益增长的 0-day 安全漏洞,或许现在是时候去了解下这个在 L ...
- D3.js 使用缩放zoom时节点无法拖动,只能整体移动的问题
.on("dragstart", function() { d3.event.sourceEvent.stopPropagation(); }) https://stackover ...