using system;
using system.collections.generic;
using system.io;
using icsharpcode.sharpziplib.checksums;
using icsharpcode.sharpziplib.zip;
namespace buildassetbundle
filestream streamtozip = new filestream(filetozip, filemode.open, fileaccess.read);
filestream zipfile = file.create(zipedfile);
zipoutputstream zipstream = new zipoutputstream(zipfile);
zipentry zipentry = new zipentry(filetozip);
zipstream.putnextentry(zipentry);
zipstream.setlevel(compressionlevel);
byte buffer = new byte[blocksize];
int size = streamtozip.read(buffer, 0, buffer.length);
zipstream.write(buffer, 0, size);
try}
catch (exception ex)
zipstream.finish();
zipstream.close();
streamtozip.close();
gc.collect();
}/// /// 壓縮目錄(包括子目錄及所有檔案)
///
/// 要壓縮的根目錄
/// 儲存路徑
/// 壓縮程度,範圍0-9,數值越大,壓縮程式越高
public void zipfilefromdirectory(string rootpath, string destinationpath, int compresslevel)
*///string rootmark = rootpath.substring(0, rootpath.lastindexof("\\") + 1);//得到當前路徑的位置,以備壓縮時將所壓縮內容轉變成相對路徑。
string rootmark = rootpath + "\\";//得到當前路徑的位置,以備壓縮時將所壓縮內容轉變成相對路徑。
crc32 crc = new crc32();
zipoutputstream outputstream = new zipoutputstream(file.create(destinationpath));
outputstream.setlevel(compresslevel); // 0 - store only to 9 - means best compression
foreach (string file in files)
this.files.clear();
foreach (string emptypath in paths)
this.paths.clear();
outputstream.finish();
outputstream.close();
gc.collect();
}/// /// 取得目錄下所有檔案及資料夾,分別存入files及paths
///
/// 根目錄
private void getalldirectories(string rootpath)
string files = directory.getfiles(rootpath);
foreach (string file in files)
if (subpaths.length == files.length && files.length == 0)//如果是空目錄
}/// /// 解壓縮檔案(壓縮檔案中含有子目錄)
///
/// 待解壓縮的檔案路徑
/// 解壓縮到指定目錄
/// 解壓後的檔案列表
public listunzip(string zipfilepath, string unzippath)
zipinputstream s = new zipinputstream(file.openread(zipfilepath));
zipentry theentry;
while ((theentry = s.getnextentry()) != null)
if (filename != string.empty)
else
}streamwriter.close();}}
s.close();
gc.collect();
return unzipfiles;
}public string getzipfileextention(string filefullname)
//extension string
string ext = filefullname.substring(index);
if (ext == ".rar" || ext == ".zip")
else}}
}
static string zipressourcepath}return "";}}
static string zipresdespath
}return "";}}
public static void multifilescompress()
C zip檔案的解壓與壓縮
2 在專案中新增相關檔案 在debug中新增zlib1.dll檔案,其他檔案載入到專案中 3 實現的 pragma comment lib,zlib1 壓縮檔案 int compress char destname,const char srcname 壓縮檔案時的源buffer file fp 開...
Python實現壓縮檔案的功能
在日常的自動化測試中,通常在測試結束需要傳送測試報告給相關人員,而測試報告中涉及多個檔案,那麼就需要使用壓縮資料夾的功能,下面是使用zip壓縮方式的具體實現方法 import zipfile import os from conf.conf import file path,dir name fro...
怎樣壓縮檔案 如何給壓縮檔案加密
我們生活 工作中,會經常遇到壓縮檔案 給檔案加密的事情。有時候,是單純不想讓別人看到 有時候,是提供 但不能共享,用來獲取收益等等。那麼怎麼將乙個檔案壓縮,或者乙個資料夾壓縮尼?同時又怎麼給這個壓縮檔案加密尼?下面大家和小編一起看一下吧。壓縮檔案 如圖。找到需要壓縮的檔案 資料夾,右擊檔案,點選新增...