首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 多檔案/資料夾壓縮與解壓縮(GZipStream 進階版)

     編輯:關於C語言

本文提供支援多檔案、多資料夾混合壓縮的完整方案,修正了網路流傳版本的 Bug,並增加重載方法,支援中文路徑。

使用範例

// 壓縮:兩個檔案 + 一個資料夾
FileInfo[] files = {
    new FileInfo(Path.Combine(folder, "file2.PPT")),
    new FileInfo(Path.Combine(folder, "file3.doc"))
};
GZip.Compress(files, new string[] { Path.Combine(folder, "img") }, folder, folder, "myzip2.zip");

// 解壓縮
GZip.Decompress(folder, Path.Combine(folder, "newfolder"), "myzip2.zip");

儲存格式說明

壓縮檔內部結構為自訂格式,非標準 ZIP/RAR,故需配套解壓程式:

0,/file2.PPT,2009-2-5 1:52:07,9216
//.....檔案二進位內容...//
1,/file3.doc,2009-2-5 1:14:54,24064
//.....檔案二進位內容...//
2,/img/file4.gif,2009-2-3 0:53:47,729
//.....檔案二進位內容...//

處理流程採用暫存檔中轉,支援完整目錄樹還原。完整原始碼與 VS2008 專案可供下載。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved