c# Zip压缩解压缩

public class ZipHelper

{

#region ZipFile 压缩文件

/// <summary>

/// 压缩

/// </summary>

/// <param name="strDirectory">要压缩的目录</param>

/// <param name="zipFile">压缩后的zip地址 绝对地址</param>

public static void ZipFileDirectory(string strDirectory, string zipFile)

{

if (File.Exists(zipFile))

{

File.Delete(zipFile);

}

System.IO.Compression.ZipFile.CreateFromDirectory(strDirectory, zipFile);//压缩

}

/// <summary>

/// 压缩文件列表

/// </summary>

/// <param name="files">要压缩的文件集合</param>

/// <param name="zipFile">压缩后的zip地址 绝对地址</param>

public static void ZipFiles(List<string> files, string zipFile)

{

if (File.Exists(zipFile))

{

File.Delete(zipFile);

}

using (ZipArchive archive = ZipFile.Open(zipFile, ZipArchiveMode.Create))

{

foreach (var item in files)

{

if (File.Exists(item))

{

archive.CreateEntryFromFile(item, Path.GetFileName(item));

}

}

}

}

#endregion

#region ZipFile 解压文件

/// <summary>

/// 解压缩

/// </summary>

/// <param name="zipFile">zip地址</param>

/// <param name="strDirectory">解压</param>

/// <param name="overWrite">是否覆盖已存在文件</param>

public static void UnZip(string zipFile, string strDirectory, bool overWrite = true)

{

using (var zip = System.IO.Compression.ZipFile.OpenRead(zipFile))

{

foreach (var item in zip.Entries)

{

var fileName = Path.Combine(strDirectory, item.FullName);

var fileDir = Path.GetDirectoryName(fileName);

if (!Directory.Exists(fileDir))

{

Directory.CreateDirectory(fileDir);

}

try

{

item.ExtractToFile(fileName, overWrite);

}

catch { }

}

}

}

#endregion

}

相关推荐
SeaDhdhdhdhdh1 小时前
MCP Server 搭建与使用指南
java·ai·agent·mcp
李妍.1 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy1 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
YH55269842 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
AI_小站2 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
许彰午3 小时前
03-三种开发模式
java·架构
felixking3 小时前
C++20 协程
开发语言·c++·协程
涟漪海洋3 小时前
创建最新的JDK25镜像,非root环境启动
java
Rain的Java大神之路3 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
2602_959960924 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题