c#解压文件的实例方法
#region 解压 文件 zip 格式 rar 格式/// <summary>///解压文件/// </summary>/// <param name="fileFromUnZip">解压前的文件路径(绝对路径)</param>/// <param name="fileToUnZip">解压后的文件目录(绝对路径)</param>public static void UnpackFile(string fileFromUnZip, string fileToUnZip){//获取压缩类型string unType = fileFromUnZip.Substring(fileFromUnZip.LastIndexOf(".") + 1, 3).ToLower();switch (unType){case "rar":UnRar(fileFromUnZip, fileToUnZip);break;case "zip":UnZip(fileFromUnZip, fileToUnZip);break;}}//解压rar格式的文件private static void UnRar(string fileFromUnZip, string fileToUnZip){using (Process Process1 = new Process())// 开启一个进程 执行解压工作 {string ServerDir = ConfigurationManager.AppSettings["UnpackFile"].ToString();//WinRAR的安装路径(必须要安装 WinRAR) //例于:C:\Program Files (x86)\WinRAR\RAR.exeProcess1.StartInfo.UseShellExecute = false;Process1.StartInfo.RedirectStandardInput = true;Process1.StartInfo.RedirectStandardOutput = true;Process1.StartInfo.RedirectStandardError = true;Process1.StartInfo.CreateNoWindow = true;Process1.StartInfo.FileName = ServerDir;Process1.StartInfo.Arguments = " x -inul -y " + fileFromUnZip + " " + fileToUnZip;Process1.Start();//解压开始 Process1.WaitForExit();Process1.Close();}}// 解压zip 文件public static void UnZip(string fileFromUnZip, string fileToUnZip){ZipInputStream inputStream = new ZipInputStream(File.OpenRead(fileFromUnZip));ZipEntry theEntry;while ((theEntry = inputStream.GetNextEntry()) != null){fileToUnZip += "/";string fileName = Path.GetFileName(theEntry.Name);string path = Path.GetDirectoryName(fileToUnZip) + "/";// Directory.CreateDirectory(path);//生成解压目录if (fileName != String.Empty){FileStream streamWriter = File.Create(path + fileName);//解压文件到指定的目录 int size = 2048;byte[] data = new byte[2048];while (true){size = inputStream.Read(data, 0, data.Length);if (size > 0){streamWriter.Write(data, 0, size);}else{break;}}streamWriter.Close();}}inputStream.Close();}#endregion
所需工具:
此外,用zip解压的方法必须要调用第三方的工具。即ICSharpCode.SharpZipLib.dll,到时候在项目中引用一下就行了。
转载于:https://www.cnblogs.com/ygyxinyu/p/3287393.html
c#解压文件的实例方法相关推荐
- python rarfile不支持中文路径_python使用zipfile解压文件中文乱码问题
中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...
- 通过C#代码 压缩/解压文件
通过引用一DLL(ICSharpCode.dll)可以实现所述功能... 一.压缩文件 using System; using ICSharpCode.SharpZipLib; using ICSha ...
- 压缩,解压文件|*.tar.gz/.tar.bz2 文件
参考 Tar选项: c – 创建压缩文件 x – 解压文件 v – 显示进度 f – 文件名 t – 查看压缩文件内容 j – 通过bzip2归档 z –通过gzip归档 r – 在压缩文件中追加文件 ...
- 测试掌握的Linux解压,轻松掌握Linux压缩/解压文件的方法
对于在Linux下解压大型的*.zip文件,相信大家一般都会通过使用winrar直接在smb中来进行解压的操作,虽然说最终可能能够解压但有时候会存在解压时间长或者网络原因出错等故障的情况出现.那么有没 ...
- 解压文件出错解决方法(invalid compressed data--format violated)
解压文件出错解决方法(invalid compressed data--format violated) 参考文章: (1)解压文件出错解决方法(invalid compressed data--fo ...
- tar 打包文件与解压文件
tar 命令打包文件与解压文件 打包文件 1.把/root目录下的test1整个打包为test1.tar文件,如下所示 [root@localhost ~]# pwd /root [root@loca ...
- php文件手机怎么解压,linux 怎么解压文件
linux怎么解压文件 Linux提供了一个很简单的功能,用来解压*.zip 文件. 解压命令:unzip filename.zip Linux系统中还有一类后缀为*.tar的文件. 解压命令为: t ...
- python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值
#!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...
- java zip malformed_关于Java解压文件的一些坑及经验分享(MALFORMED异常)
关于Java解压文件的一些坑及经验分享 就在本周, 测试人员找到我说现上的需求文档(zip格式的)无法预览了, 让我帮忙看看怎么回事. 这个功能也并不是我做的, 于是我便先看看线上日志有没有什么错误, ...
最新文章
- # Writing your-first Django-app-part 4-simple-form
- cruzer php sandisk 闪迪u盘量产工具_SanDisk Cruzer Micro下载
- DataGridView数据验证CellValidating()
- php缓存实例,一个PHP缓存类实例
- 终于用上gcc-4.1编译的系统了
- Python - Excel文件与CSV文件相互转化
- 程序员在想些什么?拒绝盲猜,CSDN帮你精准洞察 Ta 们的心
- Go实现简单的RESTful_API
- Apache本地环境部署
- 设计素材psd分层模板|临摹搞定促销海报版式!
- 8音度dsp调音教程_8音度汽车调音软件
- 爆强的一句话,工作之余放松放松!
- ZZULIOJ/python1006: 求等差数列的和
- Linux源码安装pgadmin4,赵彦昌博客 - linux ubuntu 安装pgadmin4
- 计算机技术在风景园林中的应用和选择,现代信息技术在风景园林中的应用
- 苹果(APPLE)开发人员账号说明及注冊流程(99美元公司版/个人版及299美元企业版)...
- 大型互联网公司如何自建拥有独立AS号的IP网络
- cesium加载geoserver发布的mvt服务
- arXiv,30 岁生日快乐!它的诞生,始于一个​被塞满的邮箱
- 【树莓派智能门锁】电机锁控制电源测试【2】
热门文章
- 奇妙的算法(2)—— 求平方根
- 【笔记】《C#高效编程改进C#代码的50个行之有效的办法》第1章C#语言习惯(1)--属性的特性以及索引器(SamWang)...
- [管理]《高绩效人士的五项管理》 -- 李践
- 超仪电子 java面试_全靠这份阿里大佬的“Java进阶面试手册”助我收获蚂蚁金服offer!...
- 蓝桥杯 ADV-87 算法提高 利息计算
- pythonwindow程序窗体操作_python操作Windows窗口程序
- 不同微服务独立数据库,如何保障微服务架构下的数据一致性
- 作为程序猿----别说你不知道的人物!
- 2016可信云大会进入倒计时 顶级“参会攻略”强势来袭
- java 存储过程简单例子