C#利用自带的ZipFile压缩和解压zip文件,超级简单

ZipFile类是.NET Framework 4.5发布的一个C#压缩文件和解压zip文件的一个类库,它支持.NET Framework 4.5以上版本,包括.NET Core1.0和.NET5以上版本。.NET Core以上版本使用时它时需要引用包System.IO.Compression.ZipFile。本文将介绍怎么使用ZipFile。.

一、环境准备

新建一个.net7项目,并添加Nuget包System.IO.Compression.ZipFile,可以手动添加和使用命令添加

Install-Package System.IO.Compression.ZipFile

二、使用ZipFile

zipfile很简单,主要方法有解压zip文件、读取zip文件和压缩文件。方法如下:

//解压文件var zipPath = Directory.GetCurrentDirectory() + "/wwwroot/zippath/filename.zip";var newPath= Directory.GetCurrentDirectory() + "/wwwroot/newpath";ZipFile.ExtractToDirectory(newPath, zipPath, Encoding.UTF8, true);
//压缩文件var filePath = Directory.GetCurrentDirectory() + "/wwwroot/filepath";var zipPath2 = Directory.GetCurrentDirectory() + "/wwwroot/zippath/filename2.zip";ZipFile.CreateFromDirectory(filePath, zipPath2);
//读取zip压缩文件里的文件var filelist= ZipFile.OpenRead(zipPath).Entries.Select(s => s.Name).ToList();

代码很简单,每个功能点只需要一行代码。使用官方的组件好处是简单,支持维护,缺点是功能比较单一。另外zipfile的这些方法有重载,感兴趣可以查阅官网。