我想將可以將任意數量的子目錄壓縮成一個ZIP文件的整個目錄。如何以編程方式將目錄壓縮爲zip文件
我能夠以編程方式將單個文件壓縮爲zip文件。
要壓縮整個目錄,我可以想到一個遍歷每個子目錄並壓縮它的遞歸程序。
但是有沒有簡單的方法來使用類似的代碼壓縮整個文件夾,而不必編寫任何遞歸函數?
我想將可以將任意數量的子目錄壓縮成一個ZIP文件的整個目錄。如何以編程方式將目錄壓縮爲zip文件
我能夠以編程方式將單個文件壓縮爲zip文件。
要壓縮整個目錄,我可以想到一個遍歷每個子目錄並壓縮它的遞歸程序。
但是有沒有簡單的方法來使用類似的代碼壓縮整個文件夾,而不必編寫任何遞歸函數?
使用DotNetZip,有一個AddDirectory ()方法在ZipFile類上做你想做的事:
using (var zip = new Ionic.Zip.ZipFile())
{
zip.AddDirectory("DirectoryOnDisk", "rootInZipFile");
zip.Save("MyFile.zip");
}
這個例子和其他很多,都是available on codeplex。
看看這些API的一個:
ZipFile.CreateFromDirectory(<path of folder you need to zip>, <path of zip file with .zip in the end>, CompressionLevel.Fastest, true);
DotNetZip不適用於生產。它包含一些重要的錯誤。我已經忘記了究竟是什麼,但是我經過長時間的調查後得出結論,在目前的狀態下,這絕對是不可靠的。 – SerG 2015-03-23 14:25:38