惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
月光博客
月光博客
人人都是产品经理
人人都是产品经理
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
Vercel News
Vercel News
MyScale Blog
MyScale Blog
爱范儿
爱范儿
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
H
Help Net Security
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
博客园 - 聂微东
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
博客园 - 叶小钗
D
Docker

博客园 - 张远强

原版SQLHelper.cs下载 Chrome浏览器Proxy Switchy、Tampermonkey等扩展程序下载 GreaseMonkey脚本:阻止Google转换搜索链接地址 站在31岁,理解程序员年过三十这道坎 GreaseMonkey让网站登录验证码形同虚设 DateTime.ToString格式限定符转义 借Windows说明Linux分区和挂载点 JSON解析类(C#) 彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题 SharpZipLib使用示例 Dvbbs 8.2.0 RC1多功能编辑器,提供下载 B/S系统版本管理V1.0正式发布 ASP.NET 2.0缓存 个人网站与动网整合步骤(支持PDO1.0) - 张远强 - 博客园 C#中显/隐式实现接口及其访问方法 C#接口范例 巧用escape解决ASP.NET中URL传参乱码问题 使用Filter实现信息的二次检索 使用overflow代替left截取指定长度字符串
DotNetZip使用示例
张远强 · 2009-02-26 · via 博客园 - 张远强

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