C#使用SharpZipLib壓縮解壓文件
一、介紹
SharpZipLib是一個完全由C#編寫的ZIP,GZIP,Tar和BZIP2 Library,可以方便的支持這幾種格式的壓縮和解壓縮。
https://github.com/icsharpcode/SharpZipLib 下載解壓SharpZipLib ,將 ICSharpCode.SharpZipLib .dll 添加至項目引用中.
二、操作指南
1.1 創(chuàng)建zip文件,并添加文件:
using (ZipFile zip = ZipFile.Create(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Add(@"E:\文件1.txt");
zip.Add(@"E:\文件2.txt");
zip.CommitUpdate();
}1.2 將文件夾壓縮為文件
(new FastZip()).CreateZip(@"E:\test.zip", @"E:\test\", true, "");
最后一個參數(shù)是使用正則表達式表示的過濾文件規(guī)則。CreateZip方法有3個重載版本,其中有目錄過濾參數(shù)、文件過濾參數(shù)及用于指定是否進行子目錄遞歸的一個bool類型的參數(shù)。
1.3 將文件添加到已有zip文件中
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Add(@"E:\test.doc");
zip.CommitUpdate();
}1.4 列出zip文件中文件
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
string list = string.Empty;
foreach (ZipEntry entry in zip)
{
list += entry.Name + "\r\n";
}
MessageBox.Show(list);
}1.5 刪除zip文件中的一個文件
using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
zip.BeginUpdate();
zip.Delete(@"test.doc");
zip.Delete(@"test22.txt");
zip.CommitUpdate();
}1.6 解壓zip文件中文件到指定目錄下
(new FastZip()).ExtractZip(@"E:\test.zip", @"E:\test\", "");
三、 常用類
ZipInputStream、GZipInputStream用于解壓縮Deflate、GZip格式流,
ZipOutputStream、GZipOutputStream用于壓縮Deflate、GZip格式流。
StreamUtil類包含了幾個Stream處理輔助方法:
1) Copy(Stream, Stream, Byte[])用于從一個Stream對象中復(fù)制數(shù)據(jù)到另一Stream對象。有多個重寫。
2) ReadFully(Stream, Byte [])用于從Stream對象中讀取所有的byte數(shù)據(jù)。有多個重寫。
到此這篇關(guān)于C#使用SharpZipLib壓縮解壓文件的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#實現(xiàn)多線程局域網(wǎng)聊天系統(tǒng)
這篇文章主要介紹了c#實現(xiàn)多線程局域網(wǎng)聊天系統(tǒng)的相關(guān)代碼,有此方面需求的小伙伴可以參考下。2015-06-06
C#中LINQ的Select與SelectMany函數(shù)使用
這篇文章主要介紹了C#中LINQ的Select與SelectMany函數(shù)使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

