以下為引用的內容:
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這個...