两种方式,
1. .net4.5之后自带的
ZipFile.CreateFromDirectory(待压缩文件夹,要保存的zip文件路径) 和 ZipFile.ExtractToDirectory(zip压缩文件,解压路径)
2. 引入类库 SharpZipLib
========================
1. 用自带的 解压文件(如果解压目录有重名文件会报异常)
try { string zipPath = (Directory.GetCurrentDirectory() + "\\" + "my_zip"); Console.WriteLine("Zip‘s path: " + zipPath); //Declare a temporary path to unzip your files string tempPath = Path.Combine(Directory.GetCurrentDirectory(), "tempUnzip"); string extractPath = Directory.GetCurrentDirectory(); ZipFile.ExtractToDirectory(zipPath, tempPath); //build an array of the unzipped files string[] files = Directory.GetFiles(tempPath); foreach (string file in files) { FileInfo f = new FileInfo(file); //Check if the file exists already, if so delete it and then move the new file to the extract folder if (File.Exists(Path.Combine(extractPath,f.Name))) { File.Delete(Path.Combine(extractPath, f.Name)); File.Move(f.FullName, Path.Combine(extractPath, f.Name)); } else { File.Move(f.FullName, Path.Combine(extractPath, f.Name)); } } //Delete the temporary directory. Directory.Delete(tempPath); return (0); // 0 all fine } catch (Exception) { return (1); // 1 = extract error }
2.类库
首先需要在项目里引用SharpZipLib.dll。然后修改其中的关于压缩和解压缩的类。(看下面例子)
转:
https://jingyan.baidu.com/article/3f16e00313a8a72591c10313.html
https://blog.csdn.net/e295166319/article/details/52824235
https://www.cnblogs.com/greatverve/archive/2011/12/27/csharp-zip.html