a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

c# 文件壓縮zip或將zip文件解壓的方法

2019-10-29 21:03:14
字體:
來源:轉載
供稿:網友

1.必須Dll:

ICSharpCode.SharpZipLib.dll。可從Nutget程序包中獲取。

2.壓縮文件

/// <summary>/// 壓縮文件成zip/// </summary>/// <param name="fileZip">壓縮成zip文件的絕對路徑</param>/// <param name="fileName">被壓縮指定文件的名字</param>/// <param name="zipFilePath"></param>/// <returns></returns>public bool CreateZipFile(string fileZip,string fileName, string zipFilePath)  {   bool isZip = false;   if (!Directory.Exists(zipFilePath))   {    Logger.Info($"Cannot find directory {zipFilePath}", false, "FileToZip");    return isZip;   }   try   {    string[] filenames = Directory.GetFiles(zipFilePath);    using (ZipOutputStream s = new ZipOutputStream(File.Create(fileZip)))    {     s.SetLevel(9); // 壓縮級別 0-9     //s.Password = "123"; //Zip壓縮文件密碼     byte[] buffer = new byte[4096]; //緩沖區大小     foreach (string file in filenames.ToList())     {      if (file== zipFilePath+fileName)//指定被壓縮文件的絕對路徑      {       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);        fs.Close();        fs.Dispose();       }       break;      }     }     s.Finish();     s.Close();     isZip = true;    }   }   catch (Exception ex)   {    Logger.Info($"Exception during processing {0}", false, "FileToZip");   }   return isZip;  }

3.將zip文件解壓

/// <summary>/// 解壓文件/// </summary>/// <param name="zipFilePath">壓縮文件的絕對路徑</param> public void UnZipFile(string zipFilePath)  {   if (!File.Exists(zipFilePath))   {    Logger.Info($"Cannot find file {zipFilePath}", false, "FileToZip");    return;   }   using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath)))   {    ZipEntry theEntry;    while ((theEntry = s.GetNextEntry()) != null)    {     string directoryName = Path.GetDirectoryName(theEntry.Name);     string fileName = Path.GetFileName(theEntry.Name);     // create directory     if (directoryName?.Length > 0)     {      Directory.CreateDirectory(directoryName);     }     if (!string.IsNullOrEmpty(fileName))     {      using (FileStream streamWriter = File.Create(theEntry.Name))      {       int size = 2048;       byte[] data = new byte[2048];       while (true)       {        size = s.Read(data, 0, data.Length);        if (size > 0)        {         streamWriter.Write(data, 0, size);        }        else        {         break;        }       }      }     }    }   }  }

4.其它:其中的Logger是Log4的用法。

以上這篇c# 文件壓縮zip或將zip文件解壓的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 麻豆国产露脸在线观看 | 在线a电影 | 日韩视频在线免费观看 | 欧美视频网站 | 黄色精品视频 | 日韩视频免费在线观看 | 岛国精品 | 最新色| 日韩专区在线播放 | 亚洲tv国产 | 欧美午夜一区 | 久久亚洲一区二区三区四区五区高 | 日韩av免费| 久久网站热最新地址 | 少妇裸体淫交免费视频 | 97国产在线 | 国产精品久久 | 东北一级毛片 | 日本视频网址 | 欧美成年人视频 | a级毛片基地 | 天天干夜夜爽 | 太久视频网站 | 国产精品久久久久久久电影 | 国产免费一区二区三区 | 久久精品无码一区二区日韩av | av解说在线精品 | 日本在线高清 | 亚洲精品一区二区三区蜜桃下载 | 日韩在线播放欧美字幕 | 91精品国产欧美一区二区 | 毛片网站在线观看 | 国产高清在线精品一区二区三区 | 99精品国产高清一区二区麻豆 | 久久精品国产亚洲a∨蜜臀 性视频网站免费 | 一区二区三区高清不卡 | 成人性大片免费观看网站 | 国产精品a久久久久 | 91精品专区| 国产一级黄色大片 | 亚洲一区二区三区四区在线 |