0

0

.NET怎么压缩和解压缩ZIP文件_ZIP文件压缩解压教程

月夜之吻

月夜之吻

发布时间:2025-11-05 18:11:02

|

259人浏览过

|

来源于php中文网

原创

答案:.NET内置System.IO.Compression可实现ZIP压缩解压。使用ZipFile.CreateFromDirectory压缩文件夹,ZipFile.ExtractToDirectory解压到目录,支持压缩级别与路径控制,建议用using语句管理资源。

.net怎么压缩和解压缩zip文件_zip文件压缩解压教程

在 .NET 中处理 ZIP 文件非常方便,.NET Framework 4.5 及以上版本内置了 System.IO.Compression 命名空间,支持无需第三方库即可实现 ZIP 文件的压缩与解压。下面介绍如何使用原生 API 实现常见操作。

启用 ZIP 支持

确保项目中引用了以下命名空间:

using System.IO.Compression;
using System.IO;

如果使用的是 .NET Core 或 .NET 5+,这些功能默认可用。对于较老的 .NET Framework 项目,确认目标框架为 4.5 或更高。

压缩文件到 ZIP

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

示例:把 D:\\MyFolder 压缩成 archive.zip

ZipFile.CreateFromDirectory(@"D:\MyFolder", @"D:\archive.zip");

你也可以控制压缩级别和是否包含根目录:

ZipFile.CreateFromDirectory(
    @"D:\MyFolder",
    @"D:\archive.zip",
    CompressionLevel.Optimal,
    false // 是否包含根目录
);

若只需压缩多个单独文件,可先将它们复制到临时目录再压缩,或手动创建 ZIP 存档:

Orz企业网站管理系统 双语版
Orz企业网站管理系统 双语版

Orz企业网站管理系统整合了企业网站所需要的大部分功能,并在其基础上做了双语美化。压缩包内有必须的图片psd源文件,方便大家修改。 Orz企业网站管理系统功能: 1.动态首页 2.中英文双语同后台管理 3.产品具有询价功能 4.留言板功能 5.动态营销网络 6.打印功能 7.双击自动滚动 Orz企业网站管理系统安装 1、请将官方程序包解压后上传至您的虚拟主机即可正常使用; 2、后台管理面板登录:

下载
using (var archive = ZipFile.Open(@"D:\files.zip", ZipArchiveMode.Create))
{
    archive.CreateEntryFromFile(@"D:\file1.txt", "file1.txt");
    archive.CreateEntryFromFile(@"D:\file2.jpg", "file2.jpg");
}

解压缩 ZIP 文件

使用 ZipFile.ExtractToDirectory() 可将 ZIP 文件解压到指定路径。

ZipFile.ExtractToDirectory(@"D:\archive.zip", @"D:\OutputFolder");

如果目标目录已存在文件,默认会抛出异常。建议先检查或删除目标文件夹:

if (Directory.Exists(@"D:\OutputFolder"))
    Directory.Delete(@"D:\OutputFolder", true);
ZipFile.ExtractToDirectory(@"D:\archive.zip", @"D:\OutputFolder");

如需更精细控制(例如跳过某些文件),可以打开 ZIP 存档并逐项处理:

using (var archive = ZipFile.OpenRead(@"D:\archive.zip"))
{
    foreach (var entry in archive.Entries)
    {
        if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
        {
            entry.ExtractToFile(Path.Combine(@"D:\Output", entry.FullName), true);
        }
    }
}

注意事项

处理 ZIP 文件时注意以下几点:

  • 路径分隔符建议使用反斜杠或 Path.Combine() 避免错误
  • 压缩或解压大文件时考虑流式处理以减少内存占用
  • 确保程序对源路径和目标路径有读写权限
  • 使用 using 语句确保资源正确释放

基本上就这些。.NET 内置的 ZIP 功能足够应对大多数日常需求,不复杂但容易忽略细节。按上述方法操作,能快速实现文件压缩与解压功能。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

751

2023.08.22

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

44

2025.12.04

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

269

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

210

2023.12.29

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

0

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

13

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

87

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

111

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

热门下载

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

精品课程

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

共32课时 | 3.9万人学习

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

共34课时 | 5.2万人学习

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

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