C#文件解压替换
使用系统自带的ZIpFile
using System.IO.Compression;
直接解压要求全部文件夹必须存在。
所以需要在遍历所有压缩包文件,如果存在没有的文件夹则创建。
当遇到重复的文件直接替换
string zipPath ;//zip文件位置
string extractPath;//解压文件位置
using (FileStream fs = new FileStream(zipPath, FileMode.Open))
{
using (ZipArchive zr = new ZipArchive(fs))
{
foreach (var en in zr.Entries)
{
FileInfo path = new FileInfo(Path.Combine(extractPath, en.FullName));
if (!path.Directory.Exists)//判断文件夹是否存在,不存在则直接创建
{
path.Directory.Create();
}
if (en.Name != "")//判断是否为文件夹
{
en.ExtractToFile(Path.Combine(extractPath, en.FullName), true);
}
}
}
}