DotNetZip使用示例

DotNetZip是一个Zip操作类库,它非常小,但也非常容易使用。在VB.NET、C#或其他的.NET语言中引用它后就可以非常容易的对Zip文件进行创建、读取或更新等操作。DotNetZip目前的版本为1.7,下边用几个例子来说明它的使用(使用前需引用命名空间Ionic.Zip)。

1.创建/更新压缩文件,zip文件存在则更新,不存在则创建

复制代码
//注意设置编码,默认中文件名会乱码
using (ZipFile zip = new ZipFile(@"E:\test.zip", System.Text.Encoding.Default))
{
    zip.AddDirectory(
@"E:\test");//添加文件夹
    zip.AddFile(@"E:\房屋租赁协议.doc");//添加文件,文件不存在抛错FileNotFoundException
    zip.Save();
}
复制代码

 

2.列出zip文件中所有的文件

复制代码
using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
{
    
string list = string.Empty;
    
foreach (ZipEntry entry in zip)
    
{
        list 
+= entry.FileName + "\r\n";
    }

    MessageBox.Show(list);
}
复制代码

 

3.从zip文件中删除一个文件,注意无法直接删除一个文件夹

using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
{
    
//zip["房屋租赁协议.doc"] = null;
    zip.RemoveEntry("房屋租赁协议.doc");
    zip.Save();
}

 

4.从zip文件中解压出一个文件

using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
{
    zip[
"房屋租赁协议.doc"].Extract(@"E:\"true);
}

 

5.从zip文件中解压全部文件

复制代码
using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
{
    
foreach (ZipEntry entry in zip)
    
{
        entry.Extract(
@"E:\test_new"true);
    }

}
复制代码

 

官方站点:http://www.codeplex.com/DotNetZip

posted @   张远强  阅读(2285)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示