網上轉過來的,經測試很好用。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
using system.io;
using icsharpcode.sharpziplib;
using icsharpcode.sharpziplib.zip;
using icsharpcode.sharpziplib.checksums;
namespace unzip
catch (exception ex)
return result;
}/// /// 壓縮檔案或資料夾 ----無密碼
///
/// 要壓縮的路徑-資料夾或者檔案
/// 壓縮後的檔名
/// 如果失敗返回失敗資訊
/// 壓縮結果
public static bool zip(string filetozip, string zipedfile, ref string errorout)
catch (exception ex)
return result;
} #endregion
#region 內部處理方法
/// /// 壓縮檔案
///
/// 要壓縮的檔案全名
/// 壓縮後的檔名
/// 密碼
/// 壓縮結果
private static bool zipfile(string filetozip, string zipedfile, string password)
catch (exception ex)
finally
if (ent != null)
if (fs != null)
}gc.collect();
gc.collect(1);
return result;
}/// /// 壓縮資料夾
///
/// 帶壓縮的資料夾目錄
/// 壓縮後的檔名
/// 壓縮密碼
/// 是否壓縮成功
private static bool zipdirectory(string strfile, string strzip, string password)
catch (exception ex)
finally
return result;
}/// /// 壓縮資料夾內部方法
///
///
///
///
///
private static bool zip(string strfile, zipoutputstream s, string staticfile)
else // 否則直接壓縮檔案}}
catch (exception ex)
return result;
}#endregion
#endregion
#region 解壓
#region 公開解壓方法
/// /// 解壓功能(解壓壓縮檔案到指定目錄)---->不需要密碼
///
/// 待解壓的檔案
/// 指定解壓目標目錄
/// 如果失敗返回失敗資訊
/// 解壓結果
public static bool upzipfile(string filetounzip, string zipedfolder, ref string errorout)
catch (exception ex)
return result;
}/// /// 解壓功能(解壓壓縮檔案到指定目錄)---->需要密碼
///
/// 待解壓的檔案
/// 指定解壓目標目錄
/// 密碼
/// 如果失敗返回失敗資訊
/// 解壓結果
public static bool upzipfile(string filetounzip, string zipedfolder, string password, ref string errorout)
catch (exception ex)
return result;
}#endregion
#region 內部處理方法
/// /// 解壓功能 內部處理方法
///
/// 待解壓的檔案
/// 指定解壓目標目錄
/// 密碼
/// 成功返回true
private static bool upzipfilebypassword(string targetfile, string filedir, string password)
string dir = path.getdirectoryname(theentry.name);
string filename = path.getfilename(theentry.name);
if (dir != " ")
}else if (dir == " " && filename != "")
else if (dir != " " && filename != "")
}if (dir == rootdir)
//以下為解壓縮zip檔案的基本步驟
//基本思路就是遍歷壓縮檔案裡的所有檔案,建立乙個相同的檔案。
if (filename != string.empty)
else
}streamwriter.close();}}
if (theentry != null)
if (zipstream != null)
}catch (exception ex)
finally
return rootfile;
}#endregion
#endregion
}}
C 壓縮檔案
首先新增system.io.com pression 注意deflatestream類不能用來壓縮大小超過4gb的檔案。gzipstream同樣不能用來壓縮大小超過4gb的檔案。public void compressfile string srcfile,string dstfile if fil...
C 壓縮檔案
c 壓縮檔案 方法1 filepath想要壓縮檔案的位址 zippath輸出壓縮檔案的位址 private void getfiletozip string filepath,string zippath 方法2 private void filetozip string path,string a...
C 壓縮檔案
最近悟出來乙個道理,在這兒分享給大家 學歷代表你的過去,能力代表你的現在,學習代表你的將來。十年河東十年河西,莫欺少年窮。學無止境,精益求精 上一節講述了c webapi傳參之post請求 ajax 本節 c 壓縮檔案的方法,直接上 如下public class ziputility filestr...