如何在 C# 中將 Zip 存檔提取到目錄
ZIP檔案是一種方便的方式,可以將多個檔案和目錄打包成單個壓縮檔。不論您是在管理備份、發佈軟體還是分享檔案,從ZIP壓縮檔中高效提取是至關重要的。 IronZIP是一個強大的.NET程式庫,它提供簡單的方法來簡化這個過程。
如何在C#中將ZIP壓縮檔提取到目錄
- 在您的專案中安裝IronZIP程式庫。
- 使用IronZIP提供的
ExtractArchiveToDirectory()方法。 - 指定您的ZIP檔案的路徑(例如,"output.zip")和目標提取目錄(例如,"extracted")。
什麼是 IronZIP?
IronZIP是一個多功能的 C# 程式庫,能夠在 .NET 應用程式中處理 ZIP 檔案。 無論您是建立桌面軟體、網頁應用還是自動化工具,IronZIP都能簡化建立、閱讀和提取ZIP壓縮檔。
主要特點
高性能:IronZIP擁有強大的壓縮和解壓引擎,能快速處理並節省資源。
易於使用:開發人員可以無縫地將IronZIP整合到他們的專案中。 該程式庫提供用於處理ZIP檔案的簡單方法。
NuGet整合:通過NuGet套件管理器安裝IronZIP,讓它在您的C# ziparchive提取到目錄解決方案中更易存取。
跨平台相容性:IronZIP支援包括Windows、Linux和macOS在內的各種平台。
文件和教學:探索官方文件和教學以學習如何有效地利用IronZIP。
IronZIP提供了一個可靠且高效的解決方案,無論您是在壓縮檔發佈檔案、管理備份還是處理資料存檔。
將ZIP壓縮檔提取到目錄
在開始之前,我們需要在專案中安裝IronZIP程式庫。 我們可以使用NuGet套件管理器主控台,通過以下指令加入。
Install-Package IronZip
上述命令將在我們的專案中安裝IronZIP程式庫及所需的相依項。
或者,您也可以在解決方案的NuGet套件管理器中搜尋"IronZIP"來下載。
在您的程式碼中包含必須的using指令。
using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
將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");
}
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts")
End Sub
End Class
"上面的一行程式碼提取"Contracts.zip"檔案的內容並將其放置在一個名為"Contracts"的資料夾中。這是一種在C#應用程式中以程式化方式處理ZIP壓縮檔的便捷方法。
解釋
IronZipArchive:這是IronZIP程式庫中的一個類別。 它提供用於處理ZIP檔案的方法和屬性。.ExtractArchiveToDirectory("Contracts.zip", "Contracts"):ExtractArchiveToDirectory方法在 IronZipArchive 上被調用。- 第一個引數
"Contracts.zip"代表您要提取的ZIP檔案的路徑。 - 第二個引數
"Contracts"指定提取後的檔案將被放置的目標目錄。
如果在指定目錄中檔案已經存在,則它會覆蓋現有檔案。 提取的檔案如下:

提取受密碼保護的ZIP壓縮包
IronZIP還提供方法來提取受密碼保護的壓縮檔案。 以下範例將從受密碼保護的ZIP檔案中提取檔案。
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip");
IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip")
上述程式碼提取了一個名為"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
}
}
Using zipArchive = New IronZipArchive("Contracts.zip")
' Get Entries list
Dim names As List(Of String) = zipArchive.GetArchiveEntryNames()
For Each name As String In names
Console.WriteLine(name) ' Print the name of each entry
Next name
End Using
上述程式碼使用IronZIP查看名為"Contracts.zip"的ZIP檔案中有哪些內容。它建立了一個GetArchiveEntryNames方法從壓縮檔中抓取條目名稱列表(如檔名)。 如果ZIP檔案是受密碼保護的,您可以在建立IronZipArchive物件時包含密碼。 然後程式碼將每個檔名列印到主控台。
通過這種方式,我們可以處理壓縮檔中的指定條目。
輸出如下:

檢查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
上述程式碼使用IronZIP程式庫檢查名為"Contracts.zip"的檔案是否包含名為"Contract1.pdf"的條目。它通過為ZIP檔案建立一個IronZipArchive物件來做到這一點。在程式碼塊內有一個"if"語句,用來檢查"Contract1.pdf"是否存在於ZIP檔案中。如果存在,它會在主控台上列印"File Exists"。 簡而言之,這段程式碼可以幫助您確認一個特定檔案是否在ZIP檔案內,如果在的話,告訴您。

從現有的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
"上述程式碼展示如何使用IronZIP從名為"Contracts.zip"的ZIP壓縮檔中刪除一個條目。在使用區塊內,名為"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'進行安裝。
有哪些方法可以在不解壓的情況下查看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檔案。




