標籤:try line zip 壓縮 rgs bzip ima class stat
C#中我們使用比較多的檔案壓縮第三方DLL就是Ionic.Utils.Zip.dll。但是這個DLL只支援對現有檔案進行壓縮,而不支援記憶體壓縮,如果需要使用記憶體壓縮,那麼有第三方DLL ICSharpCode.SharpZipLib.dll。
下面把例子粘出來:
using ICSharpCode.SharpZipLib.BZip2;using ICSharpCode.SharpZipLib.Zip;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { var data = Encoding.Default.GetBytes("Hello world"); using (System.IO.FileStream ZipFile = System.IO.File.Create("d:\\abc.zip")) { using (ZipOutputStream ZipStream = new ZipOutputStream(ZipFile)) { //檔案1 ZipEntry entry1 = new ZipEntry("地址.txt"); ZipStream.PutNextEntry(entry1); ZipStream.Write(data, 0, data.Length); //檔案2 ZipEntry entry2 = new ZipEntry("名稱\\地址2.txt");//名稱表示檔案夾 ZipStream.PutNextEntry(entry2); ZipStream.Write(data, 0, data.Length); } ZipFile.Close(); } Console.WriteLine("success"); Console.ReadLine(); } }}
壓縮後的目錄結構如下:
C#記憶體壓縮zip檔案