/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="zipFileName">zip路径</param>
/// <param name="sourceDirectory">目标文件夹</param>
/// <returns></returns>
public bool CompressFilesToZip(string zipFileName, string sourceDirectory)
{
try
{
if (File.Exists(zipFileName))
{
File.Delete(zipFileName);
}
FastZipEvents events = new FastZipEvents();
ZipNameTransform zipName = new ZipNameTransform(Directory.GetParent(sourceDirectory).FullName);
FastZip packZip = new FastZip(events);
events.ProcessFile = (sender, args) =>
{
packZip.NameTransform = zipName; // 为了把指定的父目录也打包到zip里面
};
events.ProcessDirectory += (sender, args) =>
{
packZip.NameTransform = zipName;
};
packZip.CreateEmptyDirectories = true;
packZip.RestoreAttributesOnExtract = true;
packZip.RestoreDateTimeOnExtract = true;
packZip.CreateZip(zipFileName, sourceDirectory, true, String.Empty);
return true;
}
catch (Exception e)
{
return false;
}
}
C# 生成zip压缩文件
于 2023-03-14 10:07:03 首次发布