在.NET 4.5中新加入的壓縮的命名空間和方法??梢話仐塈CSharpCode.SharpZipLib.dll 這個類庫了。性能上不相上下。但是能夠大大簡化你的代碼。如果開始使用.NET FrameWork4.5 做壓縮不妨試試自帶的壓縮方法.
傳統使用ICSharpCode.SharpZipLib.dll 所寫的代碼。
代碼如下:
static void Main(string[] args)
{
Stopwatch watch = new Stopwatch();
watch.Start();
string path = @"E:\";
Compress(directory.getfiles(path), @"F:\4.0.zip");
watch.Stop();
console.writeline("消耗時間:{0}", watch.ElapsedMilliseconds);
FileInfo f = new FileInfo(@"F:\4.0.zip");
Console.WriteLine("文件大小{0}", f.Length);
}
static void Compress(string[] filePaths, string zipFilePath)
{
byte[] _buffer = new byte[4096];
if (!Directory.Exists(zipFilePath))
Directory.CreateDirectory(Path.GetDirectoryName(zipFilePath));
using (ZipOutputStream zip = new ZipOutputStream(File.Create(zipFilePath)))
{
foreach (var item in filePaths)
{
if (!File.Exists(item))
{
Console.WriteLine("the file {0} not exist!", item);
}
else
{
ZipEntry entry = new ZipEntry(Path.GetFileName(item));
entry.DateTime = DateTime.Now;
zip.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(item))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(_buffer, 0, _buffer.Length);
zip.Write(_buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
}
}
zip.Finish();
zip.Close();
}
}
使用.NET FrameWork 4.5中自帶的壓縮。
代碼如下:
static void Main(string[] args)
{
Stopwatch watch = new Stopwatch();
watch.Start();
string path = @"E:\";
Compress(path, @"F:\4.5.zip");
watch.Stop();
Console.WriteLine("消耗時間:{0}", watch.ElapsedMilliseconds);
FileInfo f = new FileInfo(@"F:\4.5.zip");
Console.WriteLine("文件大小{0}", f.Length);
}
static void Compress(string filePath, string zipFilePath)
{
ZipFile.CreateFromDirectory(filePath, zipFilePath, CompressionLevel.Fastest, false);
}
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
淘寶賬號被凍結是為什么?(1)淘寶商家賬號正常情況之下,都是在有驗證違規的情況之下才會進行解凍,在凍結期間,你是無法對商品寶貝進行編輯。而且還會根據不同違規類型所需要凍結時間和扣分情況,出現略有不同。(2)多數情況,基本都是因為店鋪的b類違規扣分導致的凍結,或者是你已經累計超過48分、c類扣分已經是達到48分情況導致。(3)通常都是在分為:發布違禁信息、盜用他人賬號、騙取他人財物、出售假冒偽劣商品...
應交稅費和應交稅金區別在哪?1、用途不一樣:應交稅金多用以達到收費企業自身業務開支的需要,而應交稅費是由國家通過費用預算統一開支,用以社會公共性需要,除極個別狀況外,-般不推行??顚S?2、所交稅費的種類不一樣;3、內容不一樣:應交稅金是原會計制度的學科,應交稅費是新的會計準則的學科。應交稅費比應交稅金的計算內容增加了雜項費用的內容,如教育附加費納入應納稅費,原會計制度納入其他應納稅款。企業要交的...
建設銀行信用卡積分多少錢一分?持卡人使用龍卡信用卡,每消費人民幣1元積1分(按交易金額四舍五入取整);每消費美元1元積7分;持歐洲旅行卡消費1歐元積9分。持上海大眾龍卡每消費人民幣166元(或等值外幣)積1分(按1分的整數倍累計)。積分計算日期為該筆消費的銀行記賬日。另外東航龍卡,南航龍卡,深航龍卡,國航龍卡等航空聯名卡的消費積分每月自動轉至航空會員賬戶或轉換為航空里程。如需查詢可登錄相應航空公司...