C# 讀寫(xiě)壓縮文件
在處理文怦時(shí),常會(huì)占用大量硬盤(pán)空間。圖形和聲音文件尤其如此.讀者可能使用過(guò)能壓縮文件和解壓文件的工具,當(dāng)希望帶著文件到其他地方或者通過(guò)電子郵件把文件發(fā)送給他人時(shí),使用這些工具是很方便的。System.IO.Compression名稱(chēng)空間就包含能在代碼中壓縮文件的類(lèi),這些類(lèi)使用GZ〖P或Deflate算法,這兩種算法都是公開(kāi)的、免費(fèi)的,任何人都可以使用。
但壓縮文件并不只是把它們壓縮一下就完事了。商業(yè)應(yīng)用程序允許把多個(gè)文件放在一個(gè)壓縮文件(通常稱(chēng)為存檔文件)中。System.lO.Compression名稱(chēng)空間中的一些類(lèi)提供了類(lèi)似功能。但為了簡(jiǎn)潔起見(jiàn),只是把文本數(shù)據(jù)保存在壓縮文件中。不能在外部實(shí)用程序中訪問(wèn)這個(gè)文件,但這個(gè)文件比未壓縮版本要小得多。
System.lO.Compression名稱(chēng)空間中有兩個(gè)壓縮流類(lèi):DeflateStream和GZipStream,它們的工作方式非常類(lèi)U.對(duì)于這兩個(gè)類(lèi),都要用已有的流初始化它們,對(duì)于文件,流就是FileStream對(duì)象。此后就可以把它們用于StreamReader和StreamWriter T,就像使用其他流一樣。此外,只需要指定流是用于壓縮(保存文件)還是解壓縮(加載文件),類(lèi)就知道要對(duì)傳送給它的數(shù)據(jù)執(zhí)行什么操作。這最好用一個(gè)示例來(lái)加以說(shuō)明。
點(diǎn)擊加載更多評(píng)論>>