使用SharpZipLib.dll压缩zip
/// <summary>
??????? /// zip壓縮
??????? /// </summary>
??????? /// <param name="path">源文件夾路徑</param>
??????? /// <param name="topath">目標文件路徑</param>
??????? /// <returns>-1=文件不存在,0=未知錯誤,1=成功</returns>
??????? public static int ZipCompress(string path, string topath)
??????? {
??????????? //文件夾不存在
??????????? if (!Directory.Exists(path))
??????????? {
??????????????? return -1;
??????????? }
??????????? try
??????????? {
??????????????? string[] filenames = Directory.GetFiles(path);
??????????????? using (ZipOutputStream s = new ZipOutputStream(File.Create(topath)))
??????????????? {
??????????????????? s.SetLevel(9); // 0 - store only to 9 - means best compression
??????????????????? byte[] buffer = new byte[4096];
??????????????????? foreach (string file in filenames)
??????????????????? {
??????????????????????? ZipEntry entry = new ZipEntry(Path.GetFileName(file));
??????????????????????? entry.DateTime = DateTime.Now;
??????????????????????? s.PutNextEntry(entry);
??????????????????????? using (FileStream fs = File.OpenRead(file))
??????????????????????? {
??????????????????????????? int sourceBytes;
??????????????????????????? do
??????????????????????????? {
??????????????????????????????? sourceBytes = fs.Read(buffer, 0, buffer.Length);
??????????????????????????????? s.Write(buffer, 0, sourceBytes);
??????????????????????????? } while (sourceBytes > 0);
??????????????????????? }
??????????????????? }
??????????????????? s.Finish();
??????????????????? s.Close();
??????????????? }
??????????????? return 1;
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? return 0;
??????????? }
??????? }
總結(jié)
以上是生活随笔為你收集整理的使用SharpZipLib.dll压缩zip的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习入门(一)——深度学习如何入门?
- 下一篇: 设计模式--简单工厂(个人笔记)