1. 程式人生 > >使用Ionic.Zip.dll壓縮和解壓檔案程式碼筆記

使用Ionic.Zip.dll壓縮和解壓檔案程式碼筆記

下載 Ionic.Zip.dll 元件,新增引用,引用名稱空間 using Ionic.Zip;

  1. #region Ionic.Zip 壓縮檔案  
  2.      // 壓縮方法一  
  3.      public void ExeCompOne()  
  4.      {  
  5.          string FileName = DateTime.Now.ToString("yyMMddHHmmssff");  
  6.          //ZipFile 例項化一個壓縮檔案儲存路徑的一個物件 zip  
  7.          using (ZipFile zip = new ZipFile(@"E:\\yangfeizai\\"+ FileName+".zip",Encoding.Default))  
  8.          {  
  9.              // 加密壓縮  
  10.              zip.Password = "123456";  
  11.              // 將要壓縮的資料夾新增到 zip 物件中去 (要壓縮的資料夾路徑和名稱)  
  12.              zip.AddDirectory(@"E:\\yangfeizai\\"+"12051214544443");  
  13.              // 將要壓縮的檔案新增到 zip 物件中去, 如果檔案不存在拋錯 FileNotFoundExcept  
  14.              //zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");  
  15.              zip.Save();  
  16.          }  
  17.      }  
  18.       // 壓縮方法二  
  19.      public void ExeCompTwo()  
  20.      {  
  21.          string FileName = DateTime.Now.ToString("yyMMddHHmmssff");  
  22.          //ZipFile 例項化一個物件 zip  
  23.          using (ZipFile zip = new ZipFile())  
  24.          {  
  25.              // 加密壓縮  
  26.              zip.Password
     = "123456";  
  27.              // 將要壓縮的資料夾新增到 zip 物件中去 (要壓縮的資料夾路徑和名稱)  
  28.              zip.AddDirectory(@"E:\\yangfeizai\\"+"12051214544443");  
  29.              // 將要壓縮的檔案新增到 zip 物件中去, 如果檔案不存在拋錯 FileNotFoundExcept  
  30.              //zip.AddFile(@"E:\\yangfeizai\\12051214544443\\"+"Jayzai.xml");  
  31.              // 用 zip 物件中 Save 過載方法儲存壓縮的檔案,引數為儲存壓縮檔案的路徑  
  32.              zip.Save(@"E:\\yangfeizai\\"+ FileName +".zip");  
  33.          }  
  34.      }  
  35.      #endregion  
  36.      #region // 刪除壓縮包中的檔案  
  37.      //3. 從 zip 檔案中刪除一個檔案, 注意無法直接刪除一個資料夾  
  38.      public void ExeDelete(string FileName)  
  39.      {  
  40.          using (ZipFile zip = ZipFile.Read(@"E:\\yangfeizai\\"+ FileName +".zip"))  
  41.          {  
  42.              //zip["Jayzai.xml"] = null;  
  43.              // 刪除 zip 物件中的一個檔案  
  44.              zip.RemoveEntry("Jayzai.xml");  
  45.              zip.Save();  
  46.          }  
  47.      }  
  48.      #endregion  

  1. // 從 zip 檔案中解壓出一個檔案
  2. publicvoid ExeSingleDeComp(string FileName)  
  3. {  
  4.     using (ZipFile zip = ZipFile.Read(@"E:\\yangfeizai\\"+FileName+ ".zip"))  
  5.     {  
  6.         zip.Password = "123456";// 密碼解壓
  7.         //Extract 解壓 zip 檔案包的方法,引數是儲存解壓後文件的路基
  8.         zip["Jayzai.xml"].Extract(@"E:\\yangfeizai\\Test");  
  9.     }  
  10. }  
  11. // 從 zip 檔案中解壓全部檔案
  12. publicvoid ExeAllDeComp(string FileName)  
  13. {  
  14.     using (ZipFile zip = ZipFile.Read(@"E:\\yangfeizai\\" + FileName + ".zip"))  
  15.     {  
  16.         zip.Password = "123456";// 密碼解壓
  17.         foreach (ZipEntry entry in zip)  
  18.         {  
  19.             //Extract 解壓 zip 檔案包的方法,引數是儲存解壓後文件的路基
  20.             entry.Extract(@"E:\\yangfeizai\\Test");  
  21.         }  
  22.     }  
  23. }