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

}

相关推荐
朝新_2 分钟前
【LangChain】少样本提示(few-shorting) 掌握 Few-Shot 提示,让大模型按你的规则输出
java·人工智能·langchain
xyq20243 分钟前
Swift 类
开发语言
赏金术士3 分钟前
Kotlin 从入门到进阶 之异常与标准库(八)
android·开发语言·kotlin
Brilliantwxx4 分钟前
【C++】认识 list(初步认识+模拟实现)
开发语言·数据结构·c++·笔记·算法·list
七七powerful4 分钟前
mac电脑安装cmca根证书
java·前端·macos
曹牧4 分钟前
Java:数据载体
java·开发语言
赏金术士5 分钟前
Kotlin 从入门到进阶 之基础语法模块(一)
开发语言·微信·kotlin
格林威5 分钟前
Baumer工业相机堡盟相机Chunk功能全解析:如何在图像中嵌入时间戳、编码器值等元数据?
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
南宫萧幕7 分钟前
锂电池二阶 RC 模型仿真实战:从理论解析到 Simulink 闭环搭建全流程
开发语言·人工智能·算法·机器学习
水木流年追梦7 分钟前
【python因果库实战29】LaLonde 数据集2
开发语言·python·数据挖掘·langchain·机器人