(原创)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设计得非常 ...
随机推荐
- Bootstrap3.0入门学习系列教程
可视化布局:http://www.runoob.com/try/bootstrap/layoutit/ 1.浏览器兼容性:你可以去看看大牛的一篇文章http://www.cnblogs.com/lhb ...
- 在Ubuntu 16.04下安装nodejs
源安装: 1.curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - 2.sudo apt-get install -y node ...
- VS2017中VC++项目添加StringTable资源
1.在资源视图中选择Resource.rc,右键弹出菜单,选择[添加资源] 2.在[添加菜单]对话框中选择[String Table],新建即可
- emoji错误:ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value:
1 前言 由于mysql数据库要存储微信昵称,但是当微信昵称带有emoj表情会出现标题的错误. 然后发现是emoj编码是4个字节保存的,于mysql数据库编码格式utf8默认保存的是1到3个字节. 2 ...
- 一个简单的Loading控件
实现效果如下: 使用方法: 在layout文件中添加以下代码: <com.example.jack.ui.widget.RingLoading android:layout_width=&quo ...
- 判断iOS版本号
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) { }
- 关于 IOS 时间的一下用法
1. 加减月份 -(NSDate *)getPriousorLaterDateFromDate:(NSDate *)date withMonth:(int)month { NSDateComp ...
- Ubuntu16.04安装MySQL
本篇教程在示例步骤中使用了以下版本的软件.操作时,请您以实际软件版本为准. 操作系统:Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64) ...
- Confluence 6 管理协同编辑 - 关于 Synchrony
协同编辑能够让项目小组中的协同合作达到下一个高度.这个页面对相关协同编辑中的问题进行了讨论,能够提供给你所有希望了解的内容. 进入 Collaborative editing 页面来获得项目小组是如何 ...
- Confluence 6 创建站点的导出文件
希望为你的站点创建一个 XML 导出文件: 进入 > 基本配置(General Configuration) > 备份和恢复(Backup & Restore). 选择 归档到备 ...