C# zip压缩 Ionic.Zip.dll

时间:2021-02-02 05:27:07
#region Ionic.Zip压缩文件
//压缩方法一
public void ExeCompOne()
{
string FileName = DateTime.Now.ToString("yyMMddHHmmssff");
//ZipFile实例化一个压缩文件保存路径的一个对象zip
using (ZipFile zip = new ZipFile(@"E:\\yangfeizai\\"+ FileName+".zip",Encoding.Default))
{
//加密压缩
zip.Password = "123456";
//将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
zip.AddDirectory(@"E:\\yangfeizai\\"+"12051214544443");
//将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
//zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");
zip.Save();
}
}
//压缩方法二
public void ExeCompTwo()
{
string FileName = DateTime.Now.ToString("yyMMddHHmmssff");
//ZipFile实例化一个对象zip
using (ZipFile zip = new ZipFile())
{
//加密压缩
zip.Password = "123456";
//将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
zip.AddDirectory(@"E:\\yangfeizai\\" + "12051214544443");
//将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
//zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");
//用zip对象中Save重载方法保存压缩的文件,参数为保存压缩文件的路径
zip.Save(@"E:\\yangfeizai\\"+ FileName + ".zip");
}
}
#endregion #region //删除压缩包中的文件
//3.从zip文件中删除一个文件,注意无法直接删除一个文件夹
public void ExeDelete(string FileName)
{
using (ZipFile zip = ZipFile.Read(@"E:\\yangfeizai\\" + FileName + ".zip"))
{
//zip["Jayzai.xml"] = null;
//删除zip对象中的一个文件
zip.RemoveEntry("Jayzai.xml");
zip.Save();
}
}
#endregion

  

Asp.Net(B/S) 输出ZIP文件

Response.ContentType = "application/zip";
using (var fs = System.IO.File.OpenRead(file))
{
var b = new byte[1024];
int n;
while ((n = fs.Read(b, 0, b.Length)) > 0)
{
Response.OutputStream.Write(b, 0, n);
}
}
Response.Close();