0

0

.NET怎么压缩和解压缩ZIP文件

幻夢星雲

幻夢星雲

发布时间:2025-11-03 13:27:02

|

456人浏览过

|

来源于php中文网

原创

.NET内置支持ZIP压缩解压,通过System.IO.Compression命名空间实现。使用ZipFile.CreateFromDirectory可压缩文件夹,ZipFile.ExtractToDirectory可解压ZIP到指定目录,目标目录需为空。压缩单个或多个文件可用ZipFile.Open结合CreateEntryFromFile逐个添加。支持设置CompressionLevel压缩级别:NoCompression、Fastest、Optimal,以平衡速度与压缩率。.NET Core及后续版本默认支持,旧版Framework需安装System.IO.Compression.FileSystem包。操作时需注意路径权限与异常处理。

.net怎么压缩和解压缩zip文件

.NET 提供了内置的方式来处理 ZIP 文件的压缩与解压缩,主要通过 System.IO.Compression 命名空间中的类来实现。你不需要引入第三方库就能完成基本的 ZIP 操作。

启用 ZIP 功能

注意:你需要在项目中引用以下命名空间:
  • System.IO.Compression
  • System.IO.Compression.ZipFile
如果你使用的是 .NET Core 或 .NET 5+,这些功能默认可用。如果是较老的 .NET Framework 项目,可能需要通过 NuGet 安装 System.IO.Compression.FileSystem 包。

压缩文件夹为 ZIP

使用 ZipFile.CreateFromDirectory() 可以将整个文件夹压缩成 ZIP 文件。

using System.IO.Compression;

// 示例:将 D:\MyFolder 压缩为 D:\MyArchive.zip
string sourceDir = @"D:\MyFolder";
string zipPath = @"D:\MyArchive.zip";

ZipFile.CreateFromDirectory(sourceDir, zipPath);

该方法会递归包含子目录和所有文件。

解压缩 ZIP 文件

使用 ZipFile.ExtractToDirectory() 可以将 ZIP 文件解压到指定目录。

// 示例:将 D:\MyArchive.zip 解压到 D:\Extracted\
string zipPath = @"D:\MyArchive.zip";
string extractPath = @"D:\Extracted\";

ZipFile.ExtractToDirectory(zipPath, extractPath);

目标目录必须为空,否则会抛出异常。如果希望覆盖文件,可以先删除目标目录或使用其他方式控制。

齐博企业V1.0系统 公司模板1.0
齐博企业V1.0系统 公司模板1.0

1、下载风格压缩包 2、把index.php和enterprise文件夹解压至电脑本地桌面 3、利用FTP上传工具把你齐博企业V1.0版本系统所在的目录index.php原文件备份,然后把下载的风格上传至根目录覆盖原文件 4、然后登录后台更新网站缓存,打开首页查看 5、OK!

下载

压缩单个或多个文件

如果只想压缩几个特定文件(而不是整个目录),可以手动创建 ZIP 并逐个添加条目。

string[] files = { @"D:\file1.txt", @"D:\file2.txt" };
string zipPath = @"D:\SelectedFiles.zip";

using (var archive = ZipFile.Open(zipPath, ZipArchiveMode.Create))
{
    foreach (string file in files)
    {
        archive.CreateEntryFromFile(file, Path.GetFileName(file));
    }
}

这里使用 ZipFile.Open() 创建一个可写 ZIP 归档,然后用 CreateEntryFromFile 添加每个文件。

额外选项:压缩级别

你可以指定压缩级别来平衡速度与压缩率。

ZipFile.CreateFromDirectory(
    sourceDir,
    zipPath,
    CompressionLevel.Optimal, // 可选: NoCompression, Fastest, Optimal
    false // 是否包含基目录
);

CompressionLevel 枚举说明:

  • NoCompression:不压缩,速度快
  • Fastest:快速压缩,体积稍大
  • Optimal:尽可能小,耗时较长
基本上就这些。.NET 的 ZIP 支持简单直接,适合大多数日常场景。只要注意路径权限、目标目录状态和异常处理,就能稳定运行。

相关专题

更多
Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

0

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

4

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

windows激活码分享 windows一键激活教程指南
windows激活码分享 windows一键激活教程指南

Windows 10/11一键激活可以通过PowerShell脚本或KMS工具实现永久或长期激活。最推荐的简便方法是打开PowerShell(管理员),运行 irm https://get.activated.win | iex 脚本,按提示选择数字激活(选项1)。其他方法包括使用HEU KMS Activator工具进行智能激活。

1

2026.01.21

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

4

2026.01.21

毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm
毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm

毒蘑菇VOLUMESHADER_BM测试网站网址为https://toolwa.com/vsbm/,该平台基于WebGL技术通过渲染高复杂度三维分形图形评估设备图形处理能力,用户可通过拖动彩色物体观察画面流畅度判断GPU与CPU协同性能;测试兼容多种设备,但中低端手机易卡顿或崩溃,高端机型可能因发热降频影响表现,桌面端需启用独立显卡并使用支持WebGL的主流浏览器以确保准确结果

9

2026.01.21

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

5

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4万人学习

麻省理工大佬Python课程
麻省理工大佬Python课程

共34课时 | 5.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号