如何在 C# 中將文件解壓到目錄
解壓縮檔案 在程式開發中是一項常見任務,特別是在處理壓縮檔案時。 在本文中,我們將探討如何使用 C# 和 IronZIP 程式庫,從ZIP檔案中提取文件。
無論您是在開發 Windows 應用程式或 .NET 專案,瞭解解壓縮檔案的過程都非常有價值。 讓我們深入探討,了解如何在 C# 程式碼中有效地處理 ZIP 檔案。
本文將解釋:
- 安裝 IronZIP 程式庫的過程
- 如何提取ZIP檔案
- 如何提取有密碼保護的ZIP檔案
- 如何建立ZIP檔案
- 如何建立有密碼保護的ZIP檔案
為什麼您需要解壓縮檔案?
ZIP 檔案,也稱為 ZIP 壓縮檔,是多個檔案的一個壓縮容器。 解壓縮這些檔案涉及到提取壓縮資料並將其恢復到初始狀態。 當您需要在 C# 應用程式中存取或操作資料時,此過程是必需的。 IronZIP 通過提供簡單的方法來管理壓縮的資料,簡化了這一任務。
什麼是 IronZIP?
IronZIP 是一個強大的 C# ZIP 壓縮程式庫,方便了在 .NET 應用程式中 建立、讀取和提取壓縮包。 無論您需要壓縮檔案、從現有壓縮包中提取資料,還是管理您的ZIP檔案,IronZIP 都提供了一個使用者友好的 API,能夠高效地完成這些任務。 IronZIP 簡化了在 .NET 應用程式中進行 ZIP 壓縮包的操作。
它支持多種壓縮格式,包括 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 中的套件管理工具介面來搜尋並安裝 IronZIP 套件。
在您的 C# 程式碼中,匯入 IronZIP 命名空間以存取其類別和方法。
using IronZip;
using IronZip;
Imports IronZip
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");
' This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory("E:\Images.zip", "Extracted Images")
上述程式碼讀取指定的 ZIP 檔案 ("E:\Images.zip"),解壓其內容,並將解壓的檔案放入名為 "Extracted Images" 的目錄中。
解釋
IronZipArchive 指的是 IronZIP 程式庫提供的類別。 這是您在 C# 程式碼中操作 ZIP 壓縮包的主要進入點。 ExtractArchiveToDirectory(...) 是一個方法(或函式),由 IronZipArchive 類別提供。 它允許您將 ZIP 壓縮包的內容(在此情況下是檔案 "E:\Images.zip")提取到指定的目錄中(在此情況下,名為 "Extracted Images" 的目錄)。
該方法有兩個參數:
- 第一個參數 (
@"E:\Images.zip") 是您想要提取的 ZIP 檔案的路徑。 - 第二個參數 (
"Extracted Images") 是您希望從 ZIP 壓縮包中提取檔案的目錄。
輸出:

如何提取有密碼保護的 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");
' This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory("EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd")
上述程式碼使用 IronZIP 將 "EncryptedImages.zip" 壓縮包的內容提取到 "ExtractedImages" 目錄中。同時指定解密所需的密碼 "zipP@55w0rd",這表明 ZIP 檔案被加密,需要提供的密碼才能解壓。 它將覆蓋現有文件。
輸出:

在 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");
}
}
Shared Sub Main(ByVal args() As String)
' Create a new ZIP archive with a high compression level (9)
Using 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")
End Using
End Sub
上述程式碼示範了使用 IronZIP 建立一個新的 ZIP 壓縮包(壓縮等級為9),並新增多個條目,每個條目表示一個圖像檔案(image3.png 和 image4.png)從指定的文件路徑。
最後,使用 SaveAs 方法將建立的 ZIP 壓縮包導出為 "MyImages.zip" 在指定的目錄中。 壓縮等級9表示最大壓縮,結果是檔案大小更小但可能需要較長的處理時間。

如何建立有密碼保護的 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");
}
' Create a new ZIP archive with a high compression level (9)
Using 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")
End Using
上述程式碼演示如何使用 IronZIP 建立一個有密碼保護的 ZIP 壓縮包,並指定加密方法(在這個例子中是 AES256)。 密碼 "miPassw0rd" 被設置為保護 ZIP 檔案。接著程式碼從指定的文件路徑中將兩個圖像檔案(image1.png 和 image2.png)新增到壓縮包中。
最後,使用 SaveAs 方法來將有密碼保護的 ZIP 壓縮包導出為 "PasswordProtectedImages.zip."。 這確保了內容的安全性,通過指定的密碼和加密方法。 IronZIP 支持 AES128、AES256 和傳統方法。
結論
總結一下,本文涵蓋了如何使用 IronZIP 程式庫在 C# 中程式化地處理壓縮文件的基本方面。 從安裝過程到實際的提取、建立和保護 ZIP 壓縮包的例子,開發者都獲得了寶貴的見解。 IronZIP 的使用者友好 API、跨平台相容性和對加密方法的支持,使其成為在各種 C# 應用程式中高效管理 ZIP 文件的多功能解決方案。
無論是更新現有文件還是處理有密碼保護的壓縮包,IronZIP 簡化了這一過程,為開發人員尋求高效文件操作能力的 C# 專案提供了強大的工具集。
IronZIP 提供靈活的授權選項,包括長期使用的免費試用。 開發人員可以根據專案需求選擇最合適的授權模式,確保在其 C# 應用程式中實施 IronZIP 時既具有靈活性又方便。
常見問題
如何使用 C# 從 ZIP 壓縮檔中提取文件?
您可以使用 IronZIP 在 C# 中從 ZIP 壓縮檔中提取文件。IronZipArchive.ExtractArchiveToDirectory 方法允許您指定 ZIP 檔案的路徑和提取的目標目錄。
安裝 IronZIP 至 .NET 專案的步驟是什麼?
若要在 .NET 專案中安裝 IronZIP,您可以在 Visual Studio 中使用 NuGet 套件管理器。在套件管理器主控台中執行 Install-Package IronZIP 命令或在 NuGet 套件管理器 UI 中搜尋 IronZIP 以新增至您的專案。
我可以使用 IronZIP 提取受密碼保護的 ZIP 檔案嗎?
是的,IronZIP 支援提取受密碼保護的 ZIP 檔案。您需要在 ExtractArchiveToDirectory 方法中提供密碼作為參數,以存取和提取文件。
如何在 C# 中程式化建立 ZIP 檔案?
您可以在 C# 中使用 IronZIP 來建立 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# 開發人員的高效工具。




