c 操作壓縮檔案(ICSharpCode)

2021-08-28 22:17:15 字數 3128 閱讀 4616

網上轉過來的,經測試很好用。

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...