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

C# 教學課程:建立、讀取與解壓縮 ZIP 檔案

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

建立 ZIP 程式透過選擇檔案或目錄、指定壓縮設定並建立歸檔來產生新的 ZIP 歸檔。

Extract ZIP 透過指定來源 ZIP 檔案、目標資料夾,並將檔案和目錄提取到指定位置來檢索內容。

除了這些功能外, IronZIP還可以開啟現有的 ZIP 文件,向其中添加更多文件,然後將結果匯出為包含所有包含文件的新 ZIP 文件。

快速入門:使用IronZIP輕鬆壓縮檔案或解壓縮 ZIP 存檔@@--AH2EG--@@

快速上手-只需幾個簡單的 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 檔案至資料夾

若要從 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 = IronZipArchive.FromFile("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 = IronZipArchive.FromFile("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 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 19,717 | 版本: 2026.4 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronZip
執行範例 觀看您的檔案變成存檔。