跳過到頁腳內容
使用 IRONZIP

如何在 C# 中將文件解壓到目錄

在軟體開發中,以程式方式解壓縮檔案是一項常見的任務,尤其是在處理壓縮檔案時。 在本文中,我們將探討如何使用IronZIP庫在C#中從 ZIP 檔案中擷取檔案。

無論您是在開發 Windows 應用程式還是.NET項目,了解解壓縮檔案的過程都可能非常有價值。 讓我們深入了解如何在 C# 程式碼庫中有效地處理 ZIP 檔案。

本文將闡述以下內容:

  1. IronZIP庫的安裝過程
  2. 如何解壓縮 ZIP 壓縮包
  3. 如何解壓縮受密碼保護的 ZIP 壓縮包
  4. 如何建立 ZIP 文件
  5. 如何建立受密碼保護的 ZIP 文件

為什麼要解壓縮檔案?

ZIP 文件,也稱為 ZIP 壓縮文件,是將多個文件打包到一個壓縮容器中的文件。 解壓縮這些檔案包括提取壓縮資料並將其恢復到原始狀態。 當您需要在 C# 應用程式中存取或操作資料時,此過程至關重要。 IronZIP透過提供簡單的壓縮資料管理方法簡化了這項任務。

IronZIP是什麼?

IronZIP是一個功能強大的 C# ZIP 歸檔庫,它簡化了.NET應用程式中的歸檔建立讀取提取。 無論您需要壓縮文件、從現有存檔中提取數據,還是管理 ZIP 文件, IronZIP都提供了一個用戶友好的 API,可以有效地完成這些任務。 IronZIP簡化了在.NET應用程式中處理 ZIP 存檔的操作。

IronZIP支援多種歸檔格式,包括 ZIP、TAR、GZIP 和 BZIP2。 IronZIP 是跨平台的,相容於.NET Core、 .NET Standard和.NET Framework。 它還提供高級功能,例如密碼保護的存檔、可自訂的壓縮等級和檔案條目管理。

How to Extract Files to a Directory in C

現在,我將討論一些用 C# 從 ZIP 檔案中提取資料的範例。 首先在 Visual Studio 中建立一個新的 C# 專案。 選擇合適的項目類型(例如,控制台應用程式、Windows 窗體、 ASP.NET Core等)。 接下來,我們需要安裝IronZIP NuGet套件

透過NuGet套件管理器安裝IronZIP

若要安裝IronZIP NuGet套件,您可以在套件管理器控制台中使用下列命令:

Install-Package IronZip

或者,您可以使用 Visual Studio 中的套件管理器 UI 來搜尋和安裝IronZIP套件。

在你的 C# 程式碼中,導入IronZIP命名空間以存取其類別和方法。

using IronZip;
using IronZip;
$vbLabelText   $csharpLabel

Code Example to Extract ZIP files in C

以下 C# 程式碼將檔案解壓縮到指定的目錄。

// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
$vbLabelText   $csharpLabel

上述程式碼讀取指定的 ZIP 檔案("E:\Images.zip"),解壓縮其內容,並將擷取的檔案放入名為 "Extracted Images" 的目錄中。

解釋

IronZipArchive 指的是IronZIP庫提供的類別。 這是在 C# 程式碼中處理 ZIP 歸檔檔案的主要入口點。 ExtractArchiveToDirectory(...)IronZipArchive 類別提供的方法(或函數)。 它允許您將 ZIP 檔案(在本例中為檔案 "E:\Images.zip")的內容提取到指定的目錄(在本例中為名為 "Extracted Images" 的目錄)。

此方法接受兩個參數:

  1. 第一個參數(@"E:\Images.zip")是要擷取的 ZIP 檔案的路徑。
  2. 第二個參數("Extracted Images")是要從 ZIP 檔案中擷取檔案的目錄。

輸出:

如何在 C# 中將檔案解壓縮到目錄:圖 1 - 解壓縮影像目錄中的檔案

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

IronZIP提供了一種簡單的方法來提取加密的 ZIP檔案。 以下程式碼示範如何從受密碼保護的 ZIP 檔案中提取所有檔案。

// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
$vbLabelText   $csharpLabel

上述程式碼使用IronZIP將 "EncryptedImages.zip" 壓縮包的內容解壓縮到 "ExtractedImages" 目錄。它還指定了解密密碼 "zipP@55w0rd",表示該 ZIP 檔案已加​​密,需要使用提供的密碼才能解壓縮。 它會覆蓋現有文件。

輸出:

如何在 C# 中將檔案解壓縮到目錄:圖 2 - 已擷取影像目錄中的受密碼保護的檔案

在 C# 中使用IronZIP時,將檔案解壓縮到目錄需要充分利用IronZIP函式庫的各項功能。透過使用類似 IronZipArchive.ExtractArchiveToDirectory 這樣的函數,開發人員可以輕鬆提取壓縮文件,並提供簡單的方法來處理本地文件頭。 它提供了一種在應用程式中更新 zip 檔案和 RAR 檔案的有效方法。

IronZIP也提供了在 C# 和.NET應用程式中建立 ZIP 檔案的方法。 讓我們用 C# 建立一個 ZIP 壓縮檔。

如何建立 ZIP 壓縮文件

以下程式碼範例將建立一個 ZIP 壓縮檔。

static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");

        // Export the ZIP archive to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}
static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");

        // Export the ZIP archive to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}
$vbLabelText   $csharpLabel

上面的程式碼示範如何使用IronZIP建立一個新的 ZIP 歸檔檔案(壓縮等級為 9),並新增多個條目,每個條目代表指定檔案路徑中的一個圖片檔案(image3.png

最後,使用 SaveAs 方法將建立的 ZIP 歸檔檔案匯出為 "MyImages.zip" 到指定的目錄中。 壓縮等級 9 表示最大程度的壓縮,可減少檔案大小,但處理時間可能會更長。

如何在 C# 中將檔案解壓縮到目錄:圖 3 - 上一段程式碼輸出的 ZIP 壓縮套件

如何建立受密碼保護的 ZIP 壓縮包

以下程式碼將建立一個受密碼保護的 ZIP 檔案。

// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);

    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}
// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);

    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}
$vbLabelText   $csharpLabel

上面的程式碼示範如何使用IronZIP建立受密碼保護的 ZIP 存檔,並指定加密方法(本例中為 AES256)。 密碼 "miPassw0rd" 已設定為保護 ZIP 檔案。然後,程式碼會將指定檔案路徑中的兩個圖片檔案(image1.pngimage2.png)新增至壓縮套件中。

最後,使用 SaveAs 方法將受密碼保護的 ZIP 檔案匯出為 "PasswordProtectedImages.zip."。這樣,使用指定的密碼和加密方法,可以確保內容的安全性。 IronZIP支援 AES128、AES256 和傳統方法。

結論

總而言之,本文涵蓋了使用IronZIP庫在 C# 中以程式設計方式處理壓縮檔案的基本面向。 從安裝流程到提取建立保護ZIP 歸檔的實際範例,開發人員都獲得了寶貴的見解。 IronZIP 的用戶友好型 API、跨平台相容性和對加密方法的支持,使其成為在各種 C# 應用程式中高效管理 ZIP 檔案的多功能解決方案。

無論是更新現有文件或處理受密碼保護的存檔, IronZIP都能簡化流程,為希望在 C# 專案中有效進行文件操作的開發人員提供強大的工具集。

IronZIP提供靈活的授權選項,包括長期使用的免費試用版。 開發人員可以選擇最符合其專案需求的授權模式,從而確保在 C# 應用程式中實現IronZIP 的靈活性和便利性。

常見問題解答

如何在 C# 中從 ZIP 壓縮包中提取檔案?

您可以使用 IronZIP 從 ZIP 檔案中提取文件。IronZipArchive.ExtractArchiveToDirectory 方法允許您指定 ZIP 文件的路徑和提取的目標目錄。

在 .NET 項目中安裝 IronZIP 的步驟是什麼?

要在 .NET 專案中安裝 IronZIP,您可以使用 Visual Studio 中的 NuGet 套件管理器。在套件管理器控制台中運行命令 Install-Package IronZIP,或在 NuGet 套件管理器 UI 中搜索 IronZIP 將其新增到您的專案中。

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

是的,IronZIP 支持提取受密碼保護的 ZIP 文件。您需要在 ExtractArchiveToDirectory 方法中提供密碼作為參數,以訪問和提取文件。

如何在 C# 中以程式化方式創建 ZIP 文件?

您可以使用 IronZIP 在 C# 中創建 ZIP 文件,通過實例化新的 IronZipArchive,使用 Add 方法添加文件,並使用 SaveAs 方法保存檔案。

IronZIP 支持多種壓縮格式嗎?

是的,IronZIP 支持多種壓縮格式,包括 ZIP、TAR、GZIP 和 BZIP2,允許在 C# 應用程序中靈活處理不同的壓縮文件類型。

IronZIP 是否兼容跨平台的 .NET 應用程序?

IronZIP 兼容跨平台的 .NET 應用,因為它支持 .NET Core、.NET Standard 和 .NET Framework,適用於各種開發環境。

IronZIP 提供哪些加密方法?

IronZIP 提供加密方法以創建受密碼保護的 ZIP 檔案。您可以使用 Encrypt 方法設置密碼並保護您的檔案。

如何在購買前評估 IronZIP?

IronZIP 提供免費試用版及靈活的授權選項,允許開發者在購買前評估庫的功能和性能。

IronZIP 為在 C# 中處理 ZIP 文件提供了哪些好處?

IronZIP 提供了用戶友好的 API,支持多種壓縮格式和加密方法,簡化了創建、讀取和提取 ZIP 壓縮包的過程,對於 C# 開發者而言是一個高效的工具。

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