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 代表解压缩文件,并且是按原始目录解压(还有个参数 ...
随机推荐
- 其它综合-CentOS7 忘记root密码
CentOS7 忘记root密码 长时间不用的 CentOS 机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码. 如果是已经开启的机器,需要进行关 ...
- Python面试知识点小结
一.Python基础 1.Python语言特性: 动态型(运行期确定类型,静态型是编译型确定类型),强类型(不发生隐式转换,弱类型,如PHP,JavaScript就会发生隐患式转换) 2.Python ...
- 不同系统下的字长------typedef的意义
int的字节长度是由CPU和操作系统编译器共同决定的, 一般情况下,主要是由操作系统决定,比如,你在64位AMD的机器上安装的是32位操作系统,那么,int默认是32位的:如果是64位操作系统,64位 ...
- CentOS 7安装MongoDB
1 下载安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz 2 解压 .tgz 3 将解压包 ...
- 2018-2019 ACM-ICPC, Asia East Continent Finals部分题解
C:显然每p2个数会有一个0循环,其中22 32 52 72的循环会在200个数中出现,找到p2循环的位置就可以知道首位在模p2意义下是多少,并且循环位置几乎是唯一的(对72不满足但可能的位置也很少) ...
- zsh fg: no job control in this shell.
图片的上面就是将一个应用按Ctrl+Z,把任务放到后台里面.没法fg将任务回到前台运行. 在.zshrc中添加set -m. 具体原因不明.我切换到root用户里,没有出现这个问题.将我的.zshrc ...
- TypeError: 'NoneType' object is not subscriptable
运行,显示TypeError: 'NoneType' object is not subscriptable错误信息,原因是变量使用了系统内置的关键字list 重新定义下这个变量就好了
- 使用WebClient进行文件上传
注释部分为异步上传,几行代码就能搞定 public static bool Upload(string url, string path) { using (WebClient client = ne ...
- Linux Centos7.x 安装部署Mysql5.7几种方式的操作手册
简述 Linux Centos7.x 操作系统版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,下面介绍下在centos7.x环境里安装mysql5.7的几种方法: 一. ...
- Linux grep \t Tab 键失效
解决方法 1.'$' 有一个日志文件, 比如说有两列, 中间使用 \t制表符分割了. 则在grep查找的时候 使用: '$'\t''\+ 代替我们的\t制表符 - 2.-P grep -P '\ ...