C zip壓縮檔案的功能

2022-02-26 15:43:10 字數 2872 閱讀 5574

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

怎樣壓縮檔案 如何給壓縮檔案加密

我們生活 工作中,會經常遇到壓縮檔案 給檔案加密的事情。有時候,是單純不想讓別人看到 有時候,是提供 但不能共享,用來獲取收益等等。那麼怎麼將乙個檔案壓縮,或者乙個資料夾壓縮尼?同時又怎麼給這個壓縮檔案加密尼?下面大家和小編一起看一下吧。壓縮檔案 如圖。找到需要壓縮的檔案 資料夾,右擊檔案,點選新增...