解压文件 ,引用 SharpZipLib.dll类库

方法一:

  1. public void UnGzipFile(string zipfilename)
  2. {
  3.  
  4. //同压缩文件同级同名的非压缩文件路径
  5. var path = zipfilename.Replace(Path.GetFileName(zipfilename), Path.GetFileNameWithoutExtension(zipfilename));
  6. //创建压缩文件的输入流实例
  7. using (GZipInputStream zipFile = new GZipInputStream(File.OpenRead(zipfilename)))
  8. {
  9. //创建目标文件的流
  10. using (FileStream destFile = new FileStream(path, FileMode.Create))
  11. {
  12. int buffersize = ;//缓冲区的尺寸,一般是2048的倍数
  13. byte[] FileData = new byte[buffersize];//创建缓冲数据
  14. while (buffersize > )//一直读取到文件末尾
  15. {
  16. buffersize = zipFile.Read(FileData, , buffersize);//读取压缩文件数据
  17. destFile.Write(FileData, , buffersize);//写入目标文件
  18. }
  19. destFile.Flush();
  20. }
  21. }
  22. }

方法二:

  1. /// <summary>
  2. /// 引用 SharpZipLib.dll
  3. /// </summary>
  4. /// <param name="zipFilePath">压缩文件</param>
  5. /// <param name="filePath">解压文件</param>
  6. public void gunZipFile(string zipFilePath, string filePath)
  7. {
  8. using (Stream inStream = new GZipInputStream(File.OpenRead(zipFilePath)))
  9. {
  10. using (FileStream outStream = new FileStream(filePath, FileMode.Create))
  11. {
  12. byte[] buf = new byte[];
  13. StreamUtils.Copy(inStream, outStream, buf);
  14. }
  15. }
  16. }

压缩

  1. /// <summary>
  2. /// 压缩文件
  3. /// </summary>
  4. /// <param name="filePath">文件路径</param>
  5. /// <param name="zipFilePath">压缩后的文件路径</param>
  6. public static void gZipFile(string filePath, string zipFilePath)
  7. {
  8. Stream s = new GZipOutputStream(File.Create(zipFilePath));
  9. FileStream fs = File.OpenRead(filePath);
  10. int size;
  11. byte[] buf = new byte[];
  12. do
  13. {
  14. size = fs.Read(buf, , buf.Length);
  15. s.Write(buf, , size);
  16. } while (size > );
  17. s.Close();
  18. fs.Close();
  19. }

文章来源:http://walkerqt.blog.51cto.com/1310630/1706239

C# 解压与压缩文件的更多相关文章

  1. [转]Ubuntu Linux 安装 .7z 解压和压缩文件

    [转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-g ...

  2. 【VC++技术杂谈008】使用zlib解压zip压缩文件

    最近因为项目的需要,要对zip压缩文件进行批量解压.在网上查阅了相关的资料后,最终使用zlib开源库实现了该功能.本文将对zlib开源库进行简单介绍,并给出一个使用zlib开源库对zip压缩文件进行解 ...

  3. C#利用SharpZipLib解压或压缩文件夹实例操作

    最近要做一个项目涉及到C#中压缩与解压缩的问题的解决方法,大家分享. 这里主要解决文件夹包含文件夹的解压缩问题. )下载SharpZipLib.dll,在http://www.icsharpcode. ...

  4. C# 解压RAR压缩文件

    此方法适用于C盘windows文件夹中有WinRAR.exe文件 /// 解压文件(不带密码) RAR压缩程序 返回解压出来的文件数量 /// </summary> /// <par ...

  5. C#解压或压缩文件夹

    这里主要解决文件夹包含文件夹的解压缩问题.1)下载SharpZipLib.dll,在http://www.icsharpcode.net/OpenSource /SharpZipLib/Downloa ...

  6. C# 解压zip压缩文件

    此方法需要在程序内引用ICSharpCode.SharpZipLib.dll 类库 /// <summary> /// 功能:解压zip格式的文件. /// </summary> ...

  7. [转]Ubuntu Linux 安装 .7z 解压和压缩文件

    原文网址:http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-get install p7zip-full 解压文件 ...

  8. golang zip 解压、压缩文件

    package utils import (    "archive/zip"    "fmt"    "io"    "io/i ...

  9. Ubuntu Linux 安装 .7z 解压和压缩文件

    安装方法: sudo apt-get install p7zip 解压文件: 7z x manager.7z -r -o /home/xx解释如下:x 代表解压缩文件,并且是按原始目录解压(还有个参数 ...

随机推荐

  1. P1226 【模板】快速幂||取余运算

    https://www.luogu.org/problemnew/show/P1226 模板题 直接上代码吧 #include<bits/stdc++.h> using namespace ...

  2. Lodop的TABLE中format格式化的使用

    LODOP中的ADD_PRINT_TABLE支持很多函数和计算方法,可以用tdata对table表格里额数据进行计算,用format对结果进行格式化.这个format只能和tdata搭配使用,不能单独 ...

  3. nginx(二)nginx的安装

    下载 nginx官网下载地址 把源码解压缩之后,在终端里运行如下命令: ./configure make make install 默认情况下,Nginx 会被安装在 /usr/local/nginx ...

  4. codeforces479E

    Riding in a Lift CodeForces - 479E Imagine that you are in a building that has exactly n floors. You ...

  5. git 操作命令详解

    git 什么是git 开源的分布式版本控制系统, 用于高效的管理大小项目和文件 代码管理工具 防止代码丢失, 做备份 代码版本管控, 设置节点, 多版本切换 建立分支各自开发, 互不影响, 方便合并 ...

  6. Prometheus监控elasticsearch集群(以elasticsearch-6.4.2版本为例)

    部署elasticsearch集群,配置文件可"浓缩"为以下: cluster.name: es_cluster node.name: node1 path.data: /app/ ...

  7. 深入理解JVM(4)——对象的创建和访问

    1.对象的创建 在语言层面上,创建对象(例如克隆,反序列化)通常仅仅是一个new关键字而已. 在虚拟机中,对象(文中讨论的对象限于普通 Java 对象,不包括数组和 Class 对象等)的创建过程如下 ...

  8. CMDB资产管理系统开发【day26】:Django admin

    想实现的是一个表里面的字段 选择性的出现在菜单栏 1.如何自定义菜单 自定义菜单前 在asset\admin.py里添加如下代码: class NewAssetApprovalZoneAdmin(ad ...

  9. Gradle(一)安装配置

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.面向 ...

  10. [物理学与PDEs]第2章第1节 理想流体力学方程组 1.4 一维理想流体力学方程组

    1.  一维理想流体力学方程组 $$\beex \bea \cfrac{\p\rho}{\p t}+\cfrac{\p}{\p x}(\rho u)&=0,\\ \cfrac{\p}{\p t ...