跳至頁尾內容
使用 IRONZIP

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

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# 中將 ZIP 壓縮檔案解壓縮到目錄:圖 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 檔案管理庫?

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

有哪些方法可以在不提取檔案的情況下查看 ZIP 檔案中的條目?

IronZIP 讓您可以使用GetArchiveEntryNames()方法查看 ZIP 檔案中的條目,而無需將其提取出來,該方法會列出存檔中的所有條目。

是否可以使用 C# 檢查 ZIP 壓縮包中的特定檔案?

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

如何在C#中刪除ZIP壓縮檔?

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

該 C# 庫支援哪些平台進行 ZIP 檔案管理?

IronZIP 支援在包括 Windows、Linux 和 macOS 在內的各種平台上進行 ZIP 檔案管理,確保跨平台相容性。

使用 IronZIP 函式庫進行 ZIP 檔案管理有哪些好處?

IronZIP 提供高效能、易用性、跨平台相容性和無縫的 NuGet 集成,並為開發人員提供全面的文件和教學課程。

哪裡可以找到如何在 C# 中管理 ZIP 檔案的教學?

IronZIP 的官方文件和教學課程可以在其網站上找到,其中提供了有關使用該庫進行 ZIP 文件管理的詳細指導。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。