解壓壓縮工具類
**如下(示例):
using system;
using system.io;
using system.diagnostics;
using microsoft.win32;
using icsharpcode.sharpziplib.checksums;
using icsharpcode.sharpziplib.zip;
///壓縮、解壓縮類
namespace dotnet.utilities
///
/// 壓縮
///
/// 壓縮後的檔名(包含物理路徑)
/// 待壓縮的資料夾(包含物理路徑)
public
static
void
packfiles
(string filename,
string directory)
catch
(exception)}
///
/// 解壓縮
///
/// 待解壓檔名(包含物理路徑)
/// 解壓到哪個目錄中(包含物理路徑)
public
static
bool
unpackfiles
(string file,
string dir)
zipinputstream s =
newzipinputstream
(file.
openread
(file));
zipentry theentry;
while
((theentry = s.
getnextentry()
)!=null)if
(filename != string.empty)
else
} streamwriter.
close()
;}} s.
close()
;return
true;}
catch
(exception)}
}public
class
classzip
}catch
finally
if(entry !=
null
) gc.
collect()
; gc.
collect(1
);} folders = directory.
getdirectories
(foldertozip)
;foreach
(string folder in folders)
}return res;
}///
/// 壓縮目錄
///
/// 待壓縮的資料夾,全路徑格式
/// 壓縮後的檔名,全路徑格式
private
static
bool
zipfiledictory
(string foldertozip,
string zipedfile,
int level)
zipoutputstream s =
newzipoutputstream
(file.
create
(zipedfile));
s.setlevel
(level)
; res =
zipfiledictory
(foldertozip, s,"")
; s.
finish()
; s.
close()
;return res;
}///
/// 壓縮檔案
///
/// 要進行壓縮的檔名
/// 壓縮後生成的壓縮檔案名
private
static
bool
zipfile
(string filetozip,
string zipedfile,
int level)
filestream zipfile =
null
;zipoutputstream zipstream =
null
;zipentry zipentry =
null
;bool res =
true
;try
catch
finally
if(zipstream !=
null)if
(zipfile !=
null
) gc.
collect()
; gc.
collect(1
);}return res;
}#endregion
///
/// 壓縮
///
/// 待壓縮的檔案目錄
/// 生成的目標檔案
/// 6
public
static
bool
zip(
string filetozip,
string zipedfile,
int level)
else
if(file.
exists
(filetozip)
)else
}///
/// 解壓
///
/// 待解壓的檔案
/// 解壓目標存放目錄
public
static
void
unzip
(string filetoupzip,
string zipedfolder)if(
!directory.
exists
(zipedfolder)
)zipinputstream s =
null
;zipentry theentry =
null
;string filename;
filestream streamwriter =
null
;try
streamwriter = file.
create
(filename)
;int size =
2048
;byte
data =
newbyte
[2048];
while
(true
)else}}
}}finally
if(theentry !=
null)if
(s !=
null
) gc.
collect()
; gc.
collect(1
);}}
}public
class
ziphelper
catch
(exception ex)
}///
/// 解壓縮
///
/// 要解壓的檔名
/// 要解壓的檔案路徑
public
void
dezip
(string zipname,
string zippath)
catch
(exception ex)}}
}
c rar解壓大小 C 壓縮 解壓縮
1 2 壓縮檔案 fnamearry 為客戶端傳回來的檔案列表 檔名陣列,壓縮包的名稱strzipname3 4 檔名陣列 5 壓縮包的名稱 6 public void zipfile string fnamearry stringstrzipname 7 19 20 u.finish 結束壓縮 2...
檔案壓縮 解壓縮 歸檔以及鏈結
gdt group description table 塊組描述表 tune2fs l 顯示超級塊資訊 dumpe2fs 輸出 ext檔案系統資訊 du disk usage s summary,顯示某指定路徑下所有檔案的大小之和 h human readale 換成容易 讀的單位 df disk ...
C 壓縮和解壓縮
話不多說,直接上 最後有重要說明!哦對了,用的是icsharpcode.sharpziplib.zip 這個東西 壓縮 先宣告個全域性變數吧 附件打包的變數 zipoutputstream zos null 下面就是壓縮的 了 protected void btnfile click object ...