C# 解压与压缩文件
解压文件 ,引用 SharpZipLib.dll类库
方法一:
public void UnGzipFile(string zipfilename)
{ //同压缩文件同级同名的非压缩文件路径
var path = zipfilename.Replace(Path.GetFileName(zipfilename), Path.GetFileNameWithoutExtension(zipfilename));
//创建压缩文件的输入流实例
using (GZipInputStream zipFile = new GZipInputStream(File.OpenRead(zipfilename)))
{
//创建目标文件的流
using (FileStream destFile = new FileStream(path, FileMode.Create))
{
int buffersize = ;//缓冲区的尺寸,一般是2048的倍数
byte[] FileData = new byte[buffersize];//创建缓冲数据
while (buffersize > )//一直读取到文件末尾
{
buffersize = zipFile.Read(FileData, , buffersize);//读取压缩文件数据
destFile.Write(FileData, , buffersize);//写入目标文件
}
destFile.Flush();
}
}
}
方法二:
/// <summary>
/// 引用 SharpZipLib.dll
/// </summary>
/// <param name="zipFilePath">压缩文件</param>
/// <param name="filePath">解压文件</param>
public void gunZipFile(string zipFilePath, string filePath)
{
using (Stream inStream = new GZipInputStream(File.OpenRead(zipFilePath)))
{
using (FileStream outStream = new FileStream(filePath, FileMode.Create))
{
byte[] buf = new byte[];
StreamUtils.Copy(inStream, outStream, buf);
}
}
}
压缩
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="zipFilePath">压缩后的文件路径</param>
public static void gZipFile(string filePath, string zipFilePath)
{
Stream s = new GZipOutputStream(File.Create(zipFilePath));
FileStream fs = File.OpenRead(filePath);
int size;
byte[] buf = new byte[];
do
{
size = fs.Read(buf, , buf.Length);
s.Write(buf, , size);
} while (size > );
s.Close();
fs.Close();
}
文章来源:http://walkerqt.blog.51cto.com/1310630/1706239
C# 解压与压缩文件的更多相关文章
- [转]Ubuntu Linux 安装 .7z 解压和压缩文件
[转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-g ...
- 【VC++技术杂谈008】使用zlib解压zip压缩文件
最近因为项目的需要,要对zip压缩文件进行批量解压.在网上查阅了相关的资料后,最终使用zlib开源库实现了该功能.本文将对zlib开源库进行简单介绍,并给出一个使用zlib开源库对zip压缩文件进行解 ...
- C#利用SharpZipLib解压或压缩文件夹实例操作
最近要做一个项目涉及到C#中压缩与解压缩的问题的解决方法,大家分享. 这里主要解决文件夹包含文件夹的解压缩问题. )下载SharpZipLib.dll,在http://www.icsharpcode. ...
- C# 解压RAR压缩文件
此方法适用于C盘windows文件夹中有WinRAR.exe文件 /// 解压文件(不带密码) RAR压缩程序 返回解压出来的文件数量 /// </summary> /// <par ...
- C#解压或压缩文件夹
这里主要解决文件夹包含文件夹的解压缩问题.1)下载SharpZipLib.dll,在http://www.icsharpcode.net/OpenSource /SharpZipLib/Downloa ...
- C# 解压zip压缩文件
此方法需要在程序内引用ICSharpCode.SharpZipLib.dll 类库 /// <summary> /// 功能:解压zip格式的文件. /// </summary> ...
- [转]Ubuntu Linux 安装 .7z 解压和压缩文件
原文网址:http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-get install p7zip-full 解压文件 ...
- golang zip 解压、压缩文件
package utils import ( "archive/zip" "fmt" "io" "io/i ...
- Ubuntu Linux 安装 .7z 解压和压缩文件
安装方法: sudo apt-get install p7zip 解压文件: 7z x manager.7z -r -o /home/xx解释如下:x 代表解压缩文件,并且是按原始目录解压(还有个参数 ...
随机推荐
- monkey事件简介
操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...
- java基础1之引用数据类型
5种引用类型(对象类型) 类 接口 数组 枚举 标注 类 类在JVM的内存空间的存储 (1). Heap 堆空间:分配对象 new Student() 存放引用数据类型的实例 (2). Stack 栈 ...
- CentOS下安装nvm
1安装版本管理工具git yum install git 查看git版本 git --version 2 安装Node.js版本管理工具nvm curl -o- https://raw.githubu ...
- Codeforces484 A. Bits
题目类型:位运算 传送门:>Here< 题意:求区间\([L,R]\)内二进制中1的个数最多的那个数,如果有多解输出最小解 解题思路 想了15min就一遍A了 我们可以贪心地在\(L\)的 ...
- 倍增\ tarjan求lca
对于每个节点v,记录anc[v][k],表示从它向上走2k步后到达的节点(如果越过了根节点,那么anc[v][k]就是根节点). dfs函数对树进行的dfs,先求出anc[v][0],再利用anc[v ...
- bzoj 2816: [ZJOI2012]网络 (LCT 建多棵树)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2816 题面: http://www.lydsy.com/JudgeOnline/upload ...
- ICPC中国南昌国家邀请赛和国际丝绸之路规划大赛预选赛 I J
I. Max answer 链接:https://nanti.jisuanke.com/t/38228 思路: 枚举最小值,单调栈确定最小值的边界,用线段树+前缀和维护最小值的左右区间 实现代码: # ...
- 10.4 Vue 父子传值
简单示例 APP.vue <template> <div> <img :src="imgSrc"> <!-- 父子传值 --> &l ...
- Wannafly Union#1
题目链接:http://vjudge.net/contest/142053#overview A.题意:有一个3*n的隧道,人和车轮流走,人先向右走一步,然后选在是在原地不动还是上下移动一格,之后车开 ...
- Eclipse 添加 lib (导入 .jar 包)
1.将要添加的 jar 包直接拖到 WEB-INF/lib 目录里. 2.在项目上右键,依次选择[Build Path]--[Configure Build Path...]-- [Libraries ...