C 製作CAB壓縮包壓縮解壓類

2022-02-23 00:53:12 字數 2547 閱讀 4946

以下為引用的內容:

using system;

using system.collections.generic;

using system.text;

using system.io;

using system.diagnostics;

namespace com.imyan.cabhelper

set

}private list_filelist=new list();

///

/// 「將被壓縮」或者「解壓出」的檔案列表

///

public listfilelist

set

}///

/// 臨時目錄

///

private string tempdir;

#endregion

#region 建構函式 structure

public cab()

\\cabtemp\\", this.tempdir);

//如果存在,先刪除

if (directory.exists(this.tempdir)) directory.delete(this.tempdir,true);

directory.createdirectory(this.tempdir);

}#endregion

#region 私有方法列表 private methods

///

/// 生成 list.txt 檔案

///

private string createlistfile()

\"\r\n", this.filelist[i]);

}using (filestream fs = new filestream(listfilepath, filemode.create, fileaccess.write))

return listfilepath;

}catch (exception ex)

}///

/// 執行cmd命令

///

private string runcommand(string cmdstring)

///

/// 分析並找到cab檔案,然後提取到輸出目錄

///

private void movecabfile()

else

}//轉移檔案

file.move(cabfilepath, this.cabfilename);

}///

/// 從指定目錄讀取檔案列表

///

/// 要搜尋的目錄

/// 字尾列表

///

private listgetfilesfromdir(string dir)

return files;

}///

/// 從dos命令返回的結果,分析並得到解壓後的檔案列表

///

/// dos返回的結果

private void getexpandedfilebycmdresult(string cmdresult)

, stringsplitoptions.removeemptyentries);

//關鍵字

string keystring = string.format("將 展開成",this.cabfilename.tolower());

foreach (string resultrow in resultrowlist)}}

}#endregion

#region 公有方法列表 public methods

///

/// 製作cab檔案

/// 【執行此方法前請先指定「filelist」屬性的值】

///

/// 返回的錯誤資訊

/// 是否成功

public bool makecab(out string errorinfo)

else

生成失敗!", this.cabfilename);

return false;}}

catch (exception ex)

}///

/// 解壓縮cab檔案

/// 【執行此方法前請先指定「cabfilename」屬性的值】

///

/// 返回的錯誤資訊

/// 是否成功

public bool expandcab(out string errorinfo)

\" \"\" -f:*", this.cabfilename, temppath);

string cmdresult = this.runcommand(cmdstring);

//第三步:分析得到解壓的檔案列表

this.getexpandedfilebycmdresult(cmdresult);

return true;

}catch (exception ex)

}#endregion}}

C 製作CAB壓縮包壓縮解壓類

以下為引用的內容 using system using system.collections.generic using system.text using system.io using system.diagnostics namespace com.imyan.cabhelper set pr...

C 製作CAB壓縮包壓縮解壓類

以下為引用的內容 using system using system.collections.generic using system.text using system.io using system.diagnostics namespace com.imyan.cabhelper set pr...

C 製作Zip壓縮包

壓縮包製作也是很多專案中需要用到的功能。比如有大量的檔案 假設有10000個 需要上傳,1個1個的上傳似乎不太靠譜 靠,那得傳到什麼時候啊?這時我們可以製作乙個壓縮包zip,直接傳這個檔案到伺服器端,然後在伺服器目錄解壓,釋放裡面的檔案。這裡我們選用icsharpcode.sharpziplib這個...