ZipArchive 的使用

新建一个项目,首先添加 System.IO.Compression.FileSystem 引用。

 

解压文件

复制代码
using System.IO.Compression;
namespace cl
{
        static void Main()
        {
            string zipPath = @"c:\example\result.zip";
            string extractPath = @"c:\example\extract";
            ZipFile.ExtractToDirectory(zipPath, extractPath);
        }
}
复制代码


压缩单个文件

复制代码
using System;
using System.IO.Compression;

namespace cl
{
  sealed class ZipCreater
  {
    static void Main()
    {
      using (var zip = ZipFile.Open("ZipCreater.zip", ZipArchiveMode.Create))
      {
        zip.CreateEntryFromFile(@"C:\work\ZipCreater.cs", "ZipCreater.cs");
        zip.CreateEntryFromFile("ZipCreater.exe", "ZipCreater.exe");
      }
    }
  }
}
复制代码


压缩文件夹

复制代码
using System;
using System.IO.Compression;

namespace cl
{
  sealed class Zip
  {
    static void Main(string[] args)
    {
      if (args.Length != 2)
      {
        Console.WriteLine("Usage: Zip zip-file-name directory-name");
        return;
      }
      try { ZipFile.CreateFromDirectory(args[1], args[0]); }
      catch (Exception ex) { Console.Error.WriteLine(ex.Message); }
    }
  }
}
复制代码

 

参考文章:

浅谈 ZipArchive 类 - 银河 - 博客园
http://www.cnblogs.com/skyivben/archive/2012/03/09/2388482.html

 

posted @   小丸  阅读(2643)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示