使用 IRONZIP

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

發佈 2024年3月26日
分享:

ZIP 檔案是一種方便的方式,可以將多個檔案和目錄捆綁成一個單一的壓縮檔。不論您是管理備份、分發軟體,或是共享檔案,有效地從 ZIP 檔案中提取數據至關重要。 IronZIP, 一個強大的 .NET 圖書館通過提供簡單的方法簡化了這個過程。

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

  1. 在專案中安裝 IronZIP 程式庫。

  2. 使用 ExtractArchiveToDirectory() 由 IronZIP 提供的方法。

  3. 指定 ZIP 檔案的路徑 (例如,「output.zip」) 以及目標提取目錄 (例如,「提取的」).

什麼是 IronZIP?

IronZIP 是一個多功能的C#庫,可以在.NET應用中處理ZIP文件。無論您是在構建桌面軟件、網絡應用還是自動化工具,IronZIP都能簡化工作 創建, 讀取,和 提取 ZIP 檔案。

主要特點

高性能: IronZIP 擁有強大的壓縮和解壓引擎,速度快且資源消耗少。

使用方便: 開發人員可以將 IronZIP 無縫整合到專案中。該程式庫提供了簡單的方法來處理 ZIP 文件。

NuGet 整合: 安裝 IronZIP 透過NuGet套件管理器,使其可用於你的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;
Imports IronZip
Imports IronZip.Enum
VB   C#

將ZIP文件解壓縮到指定的目錄

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

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");
 }
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
	 IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
End Sub
End Class
VB   C#

上述程式碼行將提取“Contracts.zip”文件的內容並將其放置在名為“Contracts”的目標文件夾中。這是一種在 C# 應用程式中以程式方式處理 ZIP 檔案的便捷方法。

說明

  1. IronZipArchive:這是來自IronZIP庫的類或對象。它提供了用於處理ZIP文件的方法和屬性。

  2. .ExtractArchiveToDirectory("Contracts.zip", "Contracts")1. ExtractArchiveToDirectory 方法是在 IronZipArchive 的實例上調用的

  3. 第一個參數,「Contracts.zip」,表示你想要解壓縮的 ZIP 檔案路徑。

  4. 第二個參數,「Contracts」,指定了解壓縮文件將放置的目標目錄。

如果文件已經存在於指定的目錄中,將會覆蓋現有的文件。解壓縮的文件如下:

如何在 C# 中將壓縮檔案解壓縮至目錄:圖 1 - 文件系統

提取受密碼保護的 ZIP 壓縮檔案

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

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

上述程式碼會解壓縮名為「PasswordProtectedContracts.zip」的受密碼保護的ZIP檔案,並將其內容放置在一個名為「Contracts」的目錄中。指定的密碼確保保護ZIP檔案的安全解壓縮。

存取現有的壓縮檔案

IronZIP允許在不解壓縮的情況下從指定目錄存取現有的ZIP檔案。此功能對於從壓縮檔案中提取文件、驗證特定項目的存在性,或根據用戶互動動態檢查ZIP檔案的內容等場景非常重要。

查看 ZIP 歸檔的項目

以下代碼示例將訪問現有的 ZIP 文件,並將其項目打印到控制台。

using (var zipArchive = new IronZipArchive("Contracts.zip")) // ziparchive archive
 {
     // Get Entries list
     List<string> names = zipArchive.GetArchiveEntryNames(); 
     foreach (string name in names)
     {
         Console.WriteLine(name); //// method creates ziparchiveentry entry
     }
 }
using (var zipArchive = new IronZipArchive("Contracts.zip")) // ziparchive archive
 {
     // Get Entries list
     List<string> names = zipArchive.GetArchiveEntryNames(); 
     foreach (string name in names)
     {
         Console.WriteLine(name); //// method creates ziparchiveentry entry
     }
 }
Using zipArchive = New IronZipArchive("Contracts.zip") ' ziparchive archive
	 ' Get Entries list
	 Dim names As List(Of String) = zipArchive.GetArchiveEntryNames()
	 For Each name As String In names
		 Console.WriteLine(name) '// method creates ziparchiveentry entry
	 Next name
End Using
VB   C#

上面的代碼使用了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");
     }
 }
Using zipArchive = New IronZipArchive("Contracts.zip")
	 If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then
		 Console.WriteLine("File Exist")
	 End If
End Using
VB   C#

上面的程式碼使用 IronZIP 函式庫來檢查名為 "Contracts.zip" 的檔案中是否包含 "Contract1.pdf"。它首先為 ZIP 檔案創建一個 IronZipArchive 物件。在程式碼區塊內,有一個 "if" 條件語句檢查 "Contract1.pdf" 是否存在於 ZIP 檔案中。如果存在,則會在控制台上打印 "File Exist"。簡而言之,此程式碼幫助你確認某個特定檔案是否在 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");
}
Using zipArchive = New IronZipArchive("Contracts.zip")
	zipArchive.DeleteArchiveEntry("Contract1.pdf")
End Using
VB   C#

以上代碼演示了如何使用IronZIP從名為“Contracts.zip”的ZIP壓縮檔案中刪除條目。在using區塊內,指定的名為“Contract1.pdf”的文件會從壓縮檔案中移除。此操作確保在C#應用程式中有效管理ZIP文件。

結論

總結來說,IronZIP 是 C# 開發人員的一個寶貴工具,簡化了在各種情境下處理 ZIP 檔案的過程。無論是 提取檔案 供商業用途。

下一個 >
如何使用 C# 壓縮資料夾中的檔案

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 4,566 查看許可證 >