这篇文章介绍了C#使用SharpZipLib压缩解压文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、介绍
SharpZipLib是一个完全由C#编写的ZIP,GZIP,Tar和BZIP2 Library,可以方便的支持这几种格式的压缩和解压缩。
https://github.com/icsharpcode/SharpZipLib 下载解压SharpZipLib ,将 ICSharpCode.SharpZipLib .dll 添加至项目引用中.
二、操作指南
1.1 创建zip文件,并添加文件:
using (ZipFile zip = ZipFile.Create(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Add(@"E:\文件1.txt");
zip.Add(@"E:\文件2.txt");
zip.CommitUpdate();
}1.2 将文件夹压缩为文件
(new FastZip()).CreateZip(@"E:\test.zip", @"E:\test\", true, "");最后一个参数是使用正则表达式表示的过滤文件规则。CreateZip方法有3个重载版本,其中有目录过滤参数、文件过滤参数及用于指定是否进行子目录递归的一个bool类型的参数。
1.3 将文件添加到已有zip文件中
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Add(@"E:\test.doc");
zip.CommitUpdate();
}1.4 列出zip文件中文件
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
string list = string.Empty;
foreach (ZipEntry entry in zip)
{
list += entry.Name + "\r\n";
}
MessageBox.Show(list);
}1.5 删除zip文件中的一个文件
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Delete(@"test.doc");
zip.Delete(@"test22.txt");
zip.CommitUpdate();
}1.6 解压zip文件中文件到指定目录下
(new FastZip()).ExtractZip(@"E:\test.zip", @"E:\test\", "");三、 常用类
ZipInputStream、GZipInputStream用于解压缩Deflate、GZip格式流,
ZipOutputStream、GZipOutputStream用于压缩Deflate、GZip格式流。
StreamUtil类包含了几个Stream处理辅助方法:
1) Copy(Stream, Stream, Byte[])用于从一个Stream对象中复制数据到另一Stream对象。有多个重写。
2) ReadFully(Stream, Byte [])用于从Stream对象中读取所有的byte数据。有多个重写。
到此这篇关于C#使用SharpZipLib压缩解压文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
本文标题为:C#使用SharpZipLib压缩解压文件
基础教程推荐
- C#使用Chart绘制曲线 2023-05-22
- C#使用SQL DataAdapter数据适配代码实例 2023-01-06
- Unity虚拟摇杆的实现方法 2023-02-16
- C#执行EXE文件与输出消息的提取操作 2023-04-14
- 浅谈C# 构造方法(函数) 2023-03-03
- C# TreeView从数据库绑定数据的示例 2023-04-09
- C#中参数的传递方式详解 2023-06-27
- C#使用NPOI将excel导入到list的方法 2023-05-22
- 如何用C#创建用户自定义异常浅析 2023-04-21
- C#实现归并排序 2023-05-31
