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

在 .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企业网站管理系统整合了企业网站所需要的大部分功能,并在其基础上做了双语美化。压缩包内有必须的图片psd源文件,方便大家修改。 Orz企业网站管理系统功能: 1.动态首页 2.中英文双语同后台管理 3.产品具有询价功能 4.留言板功能 5.动态营销网络 6.打印功能 7.双击自动滚动 Orz企业网站管理系统安装 1、请将官方程序包解压后上传至您的虚拟主机即可正常使用; 2、后台管理面板登录:
{
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 功能足够应对大多数日常需求,不复杂但容易忽略细节。按上述方法操作,能快速实现文件压缩与解压功能。









