跳過到頁腳內容
使用 IRONZIP

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

ZIP 檔案是一種將多個檔案和目錄打包成單一壓縮套件的便捷方式。無論您是管理備份、分發軟體還是共享文件,從 ZIP 壓縮包中高效提取文件都至關重要。 IronZIP是一個功能強大的.NET函式庫,它透過提供簡單的方法來簡化這個過程。

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

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

IronZIP是什麼?

IronZIP是一個功能強大的 C# 函式庫,用於在.NET應用程式中處理 ZIP 檔案。 無論您是建立桌面軟體、Web 應用程式還是自動化工具, IronZIP都能簡化 ZIP 歸檔檔案的建立讀取提取

主要特點

高效能: IronZIP擁有強大的檔案壓縮和解壓縮引擎,速度快,資源佔用量少。

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

NuGet整合:透過NuGet套件管理器安裝IronZIP ,使其可供您的 C# zip 歸檔提取到目錄解決方案使用。

跨平台相容性: IronZIP支援多種平台,包括 Windows、Linux 和 macOS。

文件和教學:瀏覽官方文件教程,學習如何有效地利用IronZIP 。

無論您是壓縮檔案進行分發、管理備份或處理資料存檔, IronZIP都能為開發人員提供可靠且有效率的解決方案。

將 ZIP 壓縮檔解壓縮到目錄

開始之前,我們需要在專案中安裝IronZIP庫。 我們可以使用NuGet套件管理器控制台,透過以下命令添加它:

Install-Package IronZip

上述指令會將IronZIP函式庫及其所需的依賴項安裝到我們的專案中。

或者,您也可以透過瀏覽" IronZIP "從NuGet套件管理器下載它。

請在程式碼中包含必要的 using 指令:

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
$vbLabelText   $csharpLabel

將 ZIP 檔案解壓縮到指定目錄

IronZIP簡化了將 zip 壓縮檔解壓縮到目錄的過程。 我們只需一行程式碼即可提取文件。 以下程式碼將提取指定路徑下的所有檔案。

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

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

解釋

  1. IronZipArchive: 這是IronZIP庫中的一個類別。 它提供了處理 ZIP 檔案的方法和屬性。
  2. .ExtractArchiveToDirectory("Contracts.zip", "Contracts"):
    1. 對 IronZipArchive 呼叫方法 ExtractArchiveToDirectory
    2. 第一個參數 "Contracts.zip" 表示要擷取的 ZIP 檔案的路徑。
    3. 第二個參數 "Contracts" 指定擷取檔案將放置的目標目錄。

如果指定目錄中已存在文件,則會覆寫現有文件。 提取出的文件如下:

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

解壓縮受密碼保護的 ZIP 壓縮文件

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

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

上述程式碼提取名為"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
    }
}
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
    }
}
$vbLabelText   $csharpLabel

上面的程式碼使用IronZIP來檢查名為"Contracts.zip"的 ZIP 檔案的內容。它創建了一個 IronZipArchive 對象,使用 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");
    }
}
using (var zipArchive = new IronZipArchive("Contracts.zip"))
{
    if (zipArchive.CheckArchiveEntryExist("Contract1.pdf"))
    {
        Console.WriteLine("File Exist");
    }
}
$vbLabelText   $csharpLabel

上述程式碼使用IronZIP庫來檢查名為"Contracts.zip"的檔案是否包含名為"Contract1.pdf"的條目。它透過為 ZIP 檔案建立一個 IronZipArchive 物件來實現這一點。在程式碼區塊內部,有一個"if"語句來檢查 ZIP 檔案中是否存在"Contract1.pdf"。如果存在,則在控制台列印"檔案存在"。 簡單來說,這段程式碼可以幫助你確認某個特定檔案是否在 ZIP 檔案中,如果在,它會通知你。

如何在 C# 中將壓縮檔案擷取到目錄:圖 3 - 檢查檔案是否有輸出

從現有 ZIP 檔案中刪除條目

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

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

以上程式碼示範如何使用IronZIP從名為"Contracts.zip"的 ZIP 壓縮檔案中刪除條目。在 using 程式碼區塊中,指定的名為"Contract1.pdf"的檔案將從壓縮檔案中刪除。此操作可確保在 C# 應用程式中有效率地管理 ZIP 檔案。

結論

總而言之, IronZIP對於 C# 開發人員來說是一款非常有價值的工具,它簡化了在各種場景下處理 ZIP 檔案的操作,無論是提取文件用於商業用途。

常見問題解答

如何在 C# 中將 ZIP 檔案解壓縮到目錄?

您可以使用 IronZIP 庫的 ExtractArchiveToDirectory() 方法將 ZIP 檔案解壓縮到特定目錄。 只需指定您的 ZIP 檔案路徑和目標解壓縮目錄。

我可以使用 C# 庫提取受密碼保護的 ZIP 檔案嗎?

是的, 使用 IronZIP, 您可以通過將密碼作為附加參數提供給 ExtractArchiveToDirectory() 方法, 來提取受密碼保護的 ZIP 檔案。

如何在 C# 專案中安裝 ZIP 檔案管理的庫?

您可以使用命令 Install-Package IronZIP 通過 NuGet 套件管理器控制台安裝 IronZIP 庫或在 NuGet 套件管理器中瀏覽 'IronZIP'。

我可以使用哪些方法來查看 ZIP 條目而不提取它們?

IronZIP 允許您通過使用 GetArchiveEntryNames() 方法查看 ZIP 檔案的條目, 這會列出檔案中的所有條目。

使用 C# 可以檢查 ZIP 檔案中的特定檔案嗎?

是的, 您可以使用 IronZIP 的 CheckArchiveEntryExist() 方法檢查 ZIP 檔案中是否存在特定條目。

如何在 C# 中從 ZIP 檔案中刪除檔案?

要使用 IronZIP 從 ZIP 檔案中刪除檔案, 請對指定檔案的 IronZipArchive 對象使用 DeleteArchiveEntry() 方法。

哪些平台支持使用此 C# 庫進行 ZIP 檔案管理?

IronZIP 在多個平台上支持 ZIP 檔案管理, 包括 Windows、Linux 和 macOS, 確保跨平台兼容性。

使用 IronZIP 庫進行 ZIP 檔案管理有什麼好處?

IronZIP 提供高性能、易用性、跨平台兼容性和無縫的 NuGet 集成, 提供面向開發者的完整文檔和教程。

我在哪裡可以找到用於管理 C# 中 ZIP 檔案的教程?

IronZIP 的官方文檔和教程可以在其網站上找到, 提供有關使用庫進行 ZIP 檔案管理的詳細指引。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me