如何在 C# 中建立、讀取和提取 ZIP 文件

C# Tutorial: Create, Read & Extract ZIP Files

This article was translated from English: Does it need improvement?
Translated
View the article in English

"建立 ZIP"功能可透過選取檔案或目錄、指定壓縮設定,並建立壓縮檔,來產生新的 ZIP 壓縮檔。

"解壓縮 ZIP"功能可透過指定來源 ZIP 檔案與目標資料夾,將檔案及目錄解壓縮至指定位置。

除了這些功能外,IronZip 還能開啟現有的 ZIP 檔案,將更多檔案加入其中,然後將結果匯出為一個包含所有檔案的新 ZIP 檔案。

快速入門:輕鬆使用 IronZip 建立或提取 ZIP 檔案

快速上手——只需幾個簡單的 API 呼叫,即可使用 IronZIP 建立、修改或提取 ZIP 壓縮檔。 非常適合希望立即處理檔案,且無需處理繁瑣重複程式碼的開發人員。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronZip

    PM > Install-Package IronZip
  2. 複製並運行這段程式碼片段。

    IronZipArchive.ExtractArchiveToDirectory("project.zip", "outputFolder");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronZIP,透過免費試用

    arrow pointer

建立檔案範例

若要建立 ZIP 壓縮檔物件,您可以方便地在 C# 中使用 using 語句,並搭配 IronZipArchive 建構函式。 IronZip 讓這個過程變得簡單直觀,只需幾行程式碼,即可建立一個空的 ZIP 壓縮檔。

接著,請使用 Add 方法將您的檔案匯入 ZIP 壓縮檔。此方法允許您從各種位置新增檔案,包括整個目錄(該目錄中的所有檔案都會被包含在內)。

最後,請使用 SaveAs 方法匯出 ZIP 檔案。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-create.cs
using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.png");
    archive.Add("./assets/image2.png");

    // Export the ZIP file
    archive.SaveAs("output.zip");
}
Imports IronZip

' Create an empty ZIP
Using archive = New IronZipArchive()
	' Add files to the ZIP
	archive.Add("./assets/image1.png")
	archive.Add("./assets/image2.png")

	' Export the ZIP file
	archive.SaveAs("output.zip")
End Using
$vbLabelText   $csharpLabel

將壓縮檔解壓縮至資料夾

若要從 ZIP 檔案中提取內容,您可以使用 ExtractArchiveToDirectory 方法。 只需指定目標 ZIP 檔案的路徑,以及您希望放置解壓縮檔案的目錄即可。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-extract.cs
using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
Imports IronZip

' Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
$vbLabelText   $csharpLabel

將檔案新增至現有壓縮檔

您可以使用 IronZip 有效率地透過新增檔案來修改現有的 ZIP 壓縮檔。此流程首先需從現有的 ZIP 檔案路徑建立 ZIP 壓縮檔物件。 開啟壓縮檔後,您可以使用 Add 方法將檔案新增至現有的壓縮檔中。

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-add-files.cs
using IronZip;

// Open existing ZIP
using (var archive = new IronZipArchive("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP file
    archive.SaveAs("result.zip");
}
Imports IronZip

' Open existing ZIP
Using archive = New IronZipArchive("existing.zip")
	' Add files
	archive.Add("./assets/image3.png")
	archive.Add("./assets/image4.png")

	' Export the ZIP file
	archive.SaveAs("result.zip")
End Using
$vbLabelText   $csharpLabel

透過此功能,您可以高效地更新和擴展 ZIP 壓縮檔,以適應專案不斷演變的需求。 IronZip 讓您在 C# 專案中管理壓縮檔變得輕而易舉。

對於其他檔案歸檔與壓縮格式(例如 TAR、GZIP 和 BZIP2),可分別使用 IronGZipArchiveIronBZip2Archive 類別來實現類似的處理方式。

常見問題

如何在 C# 中建立 ZIP 文件?

要在 C# 中建立 ZIP 文件,從 IronZip 實例化 IronZipArchive 類。使用 Add 方法將文件或目錄新增到存檔,並使用 SaveAs 方法保存存檔。範例程式碼:using (var zip = new IronZipArchive()) { zip.Add(@"C:\path\to\directory"); zip.SaveAs(@"C:\path\to\output.zip"); }

如何在 C# 中讀取和提取 ZIP 文件的內容?

您可以使用 IronZipArchive 類打開 ZIP 文件來讀取和提取內容。利用 ExtractArchiveToDirectory 方法來指定解壓縮文件的目標目錄。範例:using (var zip = new IronZipArchive(@"C:\path\to\archive.zip")) { zip.ExtractArchiveToDirectory(@"C:\path\to\output\directory"); }

我可以在 C# 中將文件新增到現有的 ZIP 文件嗎?

是的,您可以在 C# 中將文件新增到現有的 ZIP 文件。使用 IronZipArchive 類打開現有的 ZIP,使用 Add 方法包含額外的文件,然後使用 SaveAs 方法保存更新的存檔。

在 C# 中可以使用哪些程式庫來管理 ZIP 文件?

IronZip 是一個在 NuGet 上可用的、用於管理 C# 中的 ZIP 文件的綜合程式庫。它允許您使用像 IronZipArchive 這樣的類來高效地建立、讀取和提取 ZIP 文件。

如何在 C# 中處理其他壓縮格式如 TAR 和 GZIP?

除了 ZIP 文件,您可以使用 IronZip 處理其他壓縮格式。對於 TAR、GZIP 和 BZIP2,分別使用 IronTarArchiveIronGZipArchiveIronBZip2Archive 類來以類似的方式處理這些格式。

如何開始使用 C# 的 ZIP 文件?

首先從 NuGet 下載 IronZip 程式庫。實例化 IronZipArchive 類來建立或打開 ZIP 文件,並使用 AddExtractArchiveToDirectory 等方法來管理存檔。

是否可以在 C# 中從 ZIP 文件中提取特定文件?

是的,可以在 C# 中從 ZIP 文件中提取特定文件。使用 IronZipArchive 打開 ZIP 文件,並使用程式庫提供的方法存取要提取的特定文件。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好要開始了嗎?
Nuget 下載 21,983 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速查看證明嗎? PM > Install-Package IronZip
運行一個範例 查看您的檔案變成壓縮檔案。