ZIP流是在NetFramework4.5 引入的目的是爲了可以更好的操做ZIP文件,進行壓縮解壓等操做。與ZIP流相關的幾個類是:java
PS: 在使用以前請先添加程序集引用System.IO.Compression
與System.IO.Compression.FileStream
api
using (FileStream fs = new FileStream("myZip.zip", FileMode.Create)) { //打開壓縮包 using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Create)) { //建立一個條目 ZipArchiveEntry entry = zipArchive.CreateEntry("HelloWorld.txt"); //在條目中寫入內容 using (StreamWriter writer = new StreamWriter(entry.Open(), Encoding.Default)) { writer.Write("I am 魯迅認識的那隻猹! Hello World"); } } }
using (FileStream fs = new FileStream("myZip.zip", FileMode.Open)) { //打開壓縮包,Mode 爲Update模式 using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Update)) { //建立一個條目 ZipArchiveEntry entry = zipArchive.CreateEntry("AppendFile.txt"); //在條目中寫入內容 using (StreamWriter writer = new StreamWriter(entry.Open(), Encoding.Default)) { writer.Write("這是追加的內容!"); } } }
using (FileStream fs = new FileStream("myZip.zip", FileMode.Open)) { //打開壓縮包,Mode 爲Update模式 using (ZipArchive zipArchive = new ZipArchive(fs, ZipArchiveMode.Update)) { //建立一個用來存放解壓後的文件的目錄 Directory.CreateDirectory("myZip"); //將全部的條目解壓出來 foreach (var item in zipArchive.Entries) { //解壓文件 item.ExtractToFile(@"myZip\" + item.Name); } } }
方法 | 解釋 |
---|---|
FileZip.CreateFromDirectory | 從一個目錄建立ZIP壓縮文件 |
FileZip.ExtractToDirectory | 將ZIP壓縮文件解壓到目錄中 |
FileZip.Open | 打開一個ZIP壓縮文件 |
FileZip.OpenRead | 打開一個讀取模式的ZIP壓縮文件 |
ZipFileExtensions 爲ZipArchive 和 ZipArchiveEntry 提供了一些更簡便的方法,具體能夠查看官方文檔code