在我們項(xiàng)目開發(fā)中,經(jīng)常需要解壓縮功能,用來減少網(wǎng)絡(luò)帶寬、磁盤空間等,但是如果自己開發(fā),需要掌握諸多知識,比如:壓縮算法、兼容性等。
今天給大家推薦一個(gè)解壓縮開源庫,讓你輕松完成解壓縮文件的功能。
01
項(xiàng)目簡介
這個(gè)一個(gè)完全由C#開發(fā)的、具備壓縮和解壓縮的功能,支持Zip,GZip,Tar和BZip2等格式,方便你集成到各種.NET項(xiàng)目中。
02
項(xiàng)目特點(diǎn)
1、完全開源和免費(fèi):也可以根據(jù)自己的需求,自行編譯源碼;
2、跨平臺:支持Windows、Linux和Mac OS ;3、靈活且易于使用:提供了多種壓縮和解壓縮的功能,包括讀取和解壓zip文件、寫入zip文件、解壓GZip文件、讀取和解壓tar文件等;
4、高性能:性能接近于系統(tǒng)的壓縮工具,但提供了更為方便的API。
03
使用方法
using ICSharpCode.SharpZipLib.Zip;
//設(shè)置密碼
var password = "123456";
//壓縮后的文件名稱
string zipFileName = "1.zip";
//要壓縮的目錄
string sourceDirectory = "E:\\file";
//是否壓縮子目錄
bool recurse = true;
//過濾文件
string fileFilter = "";
//壓縮文件
FastZip fastZip = new FastZip();
fastZip.Password = password;
fastZip.CreateEmptyDirectories = true;
fastZip.CreateZip(zipFileName, sourceDirectory, recurse, fileFilter);
//查看壓縮后的大小
using (ZipFile zFile = new ZipFile(zipFileName))
{
Console.WriteLine("查看文件 : " + zFile.Name);
Console.WriteLine("");
Console.WriteLine("原始大小 大小 日期 時(shí)間 文件名");
Console.WriteLine("-------- -------- -------- ------ ---------");
foreach (ZipEntry e in zFile)
{
if (e.IsFile)
{
DateTime d = e.DateTime;
Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize,
d.ToString("dd-MM-yy"), d.ToString("HH:mm"),
e.Name);
}
}
}
04
項(xiàng)目地址
該文章在 2024/8/22 9:18:37 編輯過