IRONSOFTWAREHOME
USING IRONZIP

如何在 C# 中將 Zip 存檔提取到目錄

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

ZIP檔案是一種方便的方式,可以將多個檔案和目錄打包成單個壓縮檔。不論您是在管理備份、發佈軟體還是分享檔案,從ZIP壓縮檔中高效提取是至關重要的。 IronZIP是一個強大的.NET程式庫,它提供簡單的方法來簡化這個過程。

如何在C#中將ZIP壓縮檔提取到目錄

  1. 在您的專案中安裝IronZIP程式庫。
  2. 使用IronZIP提供的ExtractArchiveToDirectory()方法。
  3. 指定您的ZIP檔案的路徑(例如,"output.zip")和目標提取目錄(例如,"extracted")。

什麼是 IronZIP?

IronZIP是一個多功能的 C# 程式庫,能夠在 .NET 應用程式中處理 ZIP 檔案。 無論您是建立桌面軟體、網頁應用還是自動化工具,IronZIP都能簡化建立閱讀提取ZIP壓縮檔。

主要特點

**高性能:**IronZIP擁有強大的壓縮和解壓引擎,能快速處理並節省資源。

**易於使用:**開發人員可以無縫地將IronZIP整合到他們的專案中。 該程式庫提供用於處理ZIP檔案的簡單方法。

**NuGet整合:**通過NuGet套件管理器安裝IronZIP,讓它在您的C# ziparchive提取到目錄解決方案中更易存取。

**跨平台相容性:**IronZIP支援包括Windows、Linux和macOS在內的各種平台。

**文件和教學:**探索官方文件教學以學習如何有效地利用IronZIP。

IronZIP提供了一個可靠且高效的解決方案,無論您是在壓縮檔發佈檔案、管理備份還是處理資料存檔。

將ZIP壓縮檔提取到目錄

在開始之前,我們需要在專案中安裝IronZIP程式庫。 我們可以使用NuGet套件管理器主控台,通過以下指令加入。

PM > Install-Package IronZip

上述命令將在我們的專案中安裝IronZIP程式庫及所需的相依項。

或者,您也可以在解決方案的NuGet套件管理器中搜尋"IronZIP"來下載。

在您的程式碼中包含必須的using指令。

using IronZip;
using IronZip.Enum;

將ZIP檔案提取到指定目錄

IronZIP簡化了將ZIP壓縮檔提取到目錄的過程。 我們可以用一行程式碼來提取檔案。 以下程式碼將提取指定路徑中的所有檔案。

internal class Program
{
    static void Main(string[] args)
    {
        IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts");
    }
}

"上面的一行程式碼提取"Contracts.zip"檔案的內容並將其放置在一個名為"Contracts"的資料夾中。這是一種在C#應用程式中以程式化方式處理ZIP壓縮檔的便捷方法。

解釋

  1. IronZipArchive:這是IronZIP程式庫中的一個類別。 它提供用於處理ZIP檔案的方法和屬性。
  2. .ExtractArchiveToDirectory("Contracts.zip", "Contracts"):
  3. ExtractArchiveToDirectory 方法在 IronZipArchive 上被調用。
  4. 第一個引數"Contracts.zip"代表您要提取的ZIP檔案的路徑。
  5. 第二個引數"Contracts"指定提取後的檔案將被放置的目標目錄。

如果在指定目錄中檔案已經存在,則它會覆蓋現有檔案。 提取的檔案如下:

如何在C#中將ZIP壓縮檔提取到目錄:圖1 - 檔案系統

提取受密碼保護的ZIP壓縮包

IronZIP還提供方法來提取受密碼保護的壓縮檔案。 以下範例將從受密碼保護的ZIP檔案中提取檔案。

IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");

上述程式碼提取了一個名為"PasswordProtectedContracts.zip"的受密碼保護的ZIP檔案內容,並將其置於名為"Contracts"的目錄中。指定的密碼確保了受保護的ZIP檔案的安全提取。

存取現有的壓縮檔

IronZIP允許在不從指定目錄中提取檔案的情況下存取現有的ZIP檔案。 這一功能對於從壓縮包中提取檔案、驗證特定項目的存在,甚至基於使用者交互動態檢查ZIP檔案內容等情況來說非常重要。

查看ZIP壓縮包的條目

以下程式碼範例將存取現有的ZIP檔案並將其條目列印到主控台。

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    // Get Entries list
    List<string> names = zipArchive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name); // Print the name of each entry
    }
}

上述程式碼使用IronZIP查看名為"Contracts.zip"的ZIP檔案中有哪些內容。它建立了一個GetArchiveEntryNames方法從壓縮檔中抓取條目名稱列表(如檔名)。 如果ZIP檔案是受密碼保護的,您可以在建立IronZipArchive物件時包含密碼。 然後程式碼將每個檔名列印到主控台。

通過這種方式,我們可以處理壓縮檔中的指定條目。

輸出如下:

如何在C#中將ZIP壓縮檔提取到目錄:圖2 - ZIP壓縮包條目輸出

檢查ZIP檔案中是否存在指定條目

我們還可以檢查指定的條目是否存在於指定的ZIP檔案中。以下程式碼顯示了演示。

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    if (zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
    {
        Console.WriteLine("File Exist");
    }
}

上述程式碼使用IronZIP程式庫檢查名為"Contracts.zip"的檔案是否包含名為"Contract1.pdf"的條目。它通過為ZIP檔案建立一個IronZipArchive物件來做到這一點。在程式碼塊內有一個"if"語句,用來檢查"Contract1.pdf"是否存在於ZIP檔案中。如果存在,它會在主控台上列印"File Exists"。 簡而言之,這段程式碼可以幫助您確認一個特定檔案是否在ZIP檔案內,如果在的話,告訴您。

如何在C#中將ZIP壓縮檔提取到目錄:圖3 - 檢查檔案存在輸出

從現有的ZIP檔案中刪除條目

IronZIP提供了一種從ZIP檔案中刪除條目的方法。以下程式碼將從現有的ZIP中刪除一個檔案。

using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    zipArchive.DeleteArchiveEntry("Contract1.pdf");
}

"上述程式碼展示如何使用IronZIP從名為"Contracts.zip"的ZIP壓縮檔中刪除一個條目。在使用區塊內,名為"Contract1.pdf"的指定檔案被從壓縮檔中移除。這一操作確保了在C#應用程式中對ZIP檔案的高效管理。

結論

總之,IronZIP作為 C# 開發人員的寶貴工具,簡化了在多種情境下處理 ZIP 檔案的操作,無論是提取檔案以供商務使用。

Curtis Chau
技術作家

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

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費即時演示
Booking Badge

受到全球數百萬工程師的信賴

Iron Software的客戶標誌
獲取您的無需承諾咨詢
完成以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終被保密。
受到全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立