2016年12月28日 星期三

[研究] [C#] 用 .NET 4.5 的 ZipFile 類別做壓縮、解壓縮

[研究] [C#] 用 .NET 4.5 的 ZipFile 類別做壓縮、解壓縮

2016-12-28

[C#] 透過程式壓縮資料夾為zip檔
2012年11月26日 星期一
http://storyinthedream.blogspot.tw/2012/11/c-zip.html

主要找到的方法有 3 種:
1. 用微軟內建的方法

如何:壓縮與解壓縮檔案
http://msdn.microsoft.com/zh-tw/library/ms404280.aspx

ZipFile 類別
http://msdn.microsoft.com/zh-tw/library/system.io.compression.zipfile.aspx

首先要呼叫該方法的專案必須為.NET4.5 版本
接著加入參考 System.IO.Compression.FileSystem.dll 檔
並引用命名空間 System.IO.Compression

存放 System.IO.Compression.FileSystem.dll 的目錄
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1






using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string startPath = @"c:\example\start";
            string zipPath = @"c:\example\result.zip";
            string extractPath = @"c:\example\extract";

           // 壓縮目錄中檔案
            ZipFile.CreateFromDirectory(startPath, zipPath);

            // 解壓縮
            ZipFile.ExtractToDirectory(zipPath, extractPath);
        }
    }
}


手動建立 C:\example 目錄、C:\example\start目錄、C:\example\extract目錄,在C:\example\start隨便建立幾個檔案,執行程式後,這些檔案會壓縮放入 c:\example\result.zip 檔案中。
然後把  c:\example\result.zip 解壓縮放到 C:\example\extract 目錄中。

(完)

沒有留言:

張貼留言