使用 IRONZIP

如何使用 C# 壓縮資料夾中的檔案

發佈 2024年2月18日
分享:

ZIP 檔案是包含一個或多個使用 ZIP 格式壓縮的檔案或資料夾的檔案。 這是一種常見的方法,用於將多個文件或文件夾壓縮和存檔為單個文件。它們可以減小數據的大小,節省磁碟空間,並使文件在互聯網上傳輸更為方便。 在本文中,您將學習如何使用ZIP檔案在C#使用該IronZIP圖書館 您將看到如何以程式方式創建、讀取、提取和更新 ZIP 文件,以及如何使用 IronZIP 的各種功能,如加密、密碼保護和壓縮等級。 閱讀本文後,您將能夠輕鬆地在 C# 應用程式中使用 IronZIP 處理 ZIP 檔案。

本篇文章涵蓋的內容

  1. 在我們的專案中安裝 IronZIP

  2. 建立 ZIP 檔案

  3. 建立受密碼保護的ZIP文件

  4. 提取 ZIP 檔案

  5. 提取受密碼保護的 ZIP 文件

  6. 訪問現有的ZIP檔案

什麼是IronZIP?

IronZIP是一個功能強大且多用途的C# ZIP歸檔庫,允許您以程式化方式創建、讀取和解壓ZIP文件。 它支持多種壓縮格式,例如ZIP, TAR, GZIP,和BZIP2. 它也支持密碼保護、加密和壓縮級別。 IronZIP 兼容 .NET 8、7、6、Core、Standard 和 Framework。

IronZIP 可以幫助您處理使用 ZIP 檔案的各種用例和優點,例如:

  1. 建立備份系統:您可以使用IronZIP將重要的檔案和資料夾壓縮並加密成ZIP檔案,然後將它們存儲在安全的位置。 這樣,您可以節省磁碟空間並防止資料未經授權的存取。

  2. 傳送電子郵件附件:您可以使用 IronZIP 將電子郵件附件壓縮成 ZIP 文件以減小大小。這可以幫助您避免超出文件大小限制並加快傳輸過程。

  3. 從網路下載檔案:您可以使用 IronZIP 從網路下載並解壓縮 ZIP 檔案,例如軟體包、文件、圖片和其他類型的檔案。 這可以幫助您節省頻寬和時間,輕鬆存取所需的檔案。

開始使用 IronZIP

在編寫代碼之前,您需要在 C# 專案中安裝 IronZIP NuGet 套件。 IronZIP 是一款受歡迎的壓縮庫,可通過 NuGet 獲得。

安裝 IronZIP 函式庫

要安裝IronZIP,您可以在Visual Studio中使用NuGet套件管理器主控台。 只需运行以下命令:

Install-Package IronZip

或者,您可以直接從官方下載套件IronZIP網站。一旦安裝完成,您可以透過在您的C#代碼頂端新增以下命名空間來開始。

using IronZip;
using IronZip;
Imports IronZip
VB   C#

在資料夾文件中建立 C# ZIP 檔案

我們可以使用 IronZIP 輕鬆在資料夾中建立 ZIP 檔案。以下程式碼將壓縮指定目錄中的所有檔案。

static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
	Using archive = New IronZipArchive()
		For Each file In fileArray
			' Add files to the ZIP
			archive.Add(file)
		Next file
		' Export the ZIP
		archive.SaveAs("myZipFile.zip")
	End Using
End Sub
VB   C#

上面的 C# 代碼使用 IronZIP 函式庫將所有文件壓縮成一個 ZIP 文件。該代碼執行以下操作:

  • 我們已經宣告了一個名為 fileArray 的字串陣列,並將其賦值為 Directory.GetFiles 方法的結果,傳入目錄的路徑。("D:\Docs")作為參數。 此方法返回一個包含指定目錄中所有文件全名的字串數組。
  • 我們創建了一個新的 IronZipArchive 類實例,這是記憶體中的 ZIP 存檔。 該實例被賦值給一個名為 archive 的變量並用 using 語句包裹,以確保當代碼塊結束時,ZIP 壓縮包被釋放。
  • 然後,我們使用 foreach 迴圈遍歷了 fileArray 陣列,對於每個檔案,它會調用 archive 物件的 Add 方法,並將檔案名稱作為參數傳遞。 此方法將具有相同名稱和內容的新條目添加到 ZIP 壓縮檔案中。
  • 最後,我們調用了存檔物件的 SaveAs 方法,傳遞了 ZIP 檔案的名稱。(“myZipFile.zip”)作為參數。 此方法將 ZIP 壓縮檔儲存到當前檔案系統中的檔案。

    透過這種方式,我們可以僅用幾行程式碼輕鬆建立新的壓縮檔案。

輸出

輸出為:

如何使用 C# 壓縮文件夾中的文件:圖 1 - 來自前一個代碼示例的輸出文件

建立受密碼保護的ZIP文件

IronZIP 提供了最簡單的方法來創建加密保護的 ZIP 文件。 以下的程式碼範例將壓縮檔案並創建一個新的具有密碼的 ZIP 檔案。

using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
Using archive = New IronZipArchive()
	 For Each file In fileArray
		 ' Add files to the ZIP
		 archive.Add(file)
	 Next file
	' Set Password and Encryption Method
	 archive.Encrypt("myPa55word", EncryptionMethods.AES256)
	 ' Export the ZIP
	 archive.SaveAs("myZipFile.zip")
End Using
VB   C#

行 archive.Encrypt("myPa55word", EncryptionMethods.AES256); 設置密碼("myPa55word")使用 IronZIP 的 ZIP 壓縮檔案。它通過對壓縮檔案應用 AES-256 加密來增強安全性,確保只有擁有正確密碼的用戶才能訪問其內容。 此功能對於在 C# 應用程式中的儲存或傳輸期間保護敏感數據非常有價值。 我們需要在第二個參數中傳遞指定的加密算法模式。

如下面所示,文件已加密。

輸出

如何使用 C# 壓縮資料夾中的檔案:圖 2 - 前一個程式碼範例輸出的加密檔案

我們已經看到透過迴圈遍歷指定路徑的目錄來創建 ZIP 檔的演示。 現在,讓我們來看看解壓縮檔案的範例。

從 ZIP 壓縮檔提取檔案

IronZIP 提供了一種方法,從 ZIP 檔案中提取檔案 C#。 以下代碼範例將從 ZIP 壓縮檔案中提取壓縮文件。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
VB   C#

程式碼 IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); 使用IronZIP提取"myZipFile.zip"中的所有文件,並將它們放置在"myExtractedFiles"目錄中。 這個精簡的方法簡化了在 C# 中提取 ZIP 壓縮檔案的過程,為檔案提取任務提供了一個便利的解決方案。

輸出

輸出如下:

如何使用 C# 壓縮資料夾中的檔案:圖 3 - 來自前述程式碼範例的輸出檔案

如何從受密碼保護的 ZIP 檔案中提取

IronZIP 也提供提取受密码保护的 ZIP 文件的方法。 以下程式碼將使用IronZIP方法從指定的ZIP檔案中提取所有現有的檔案和目錄。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
VB   C#

IronZipArchive 類別的 ExtractArchiveToDirectory 方法將 ZIP 壓縮檔案中的所有條目提取到指定的目錄。 它將三個參數傳遞給方法:ZIP 文件的路徑(“myZipFile.zip”)目的目錄的路徑("myExtractedFiles"), 以及 ZIP 檔案的密碼(“myPa55word”).

這樣,我們可以輕鬆提取受密碼保護的 zip 檔案。

如何存取現有的存檔

IronZIP 提供的方法是存取現有的檔案庫並查看檔案中所有的條目。

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

提供的 C# 程式碼使用 IronZIP 來建立一個安全的 IronZipArchive 實例,透過載入名稱為 "myZipFile.zip" 的 ZIP 檔案並使用密碼 "myPa55word"。 如果文件未加密,請不要傳遞密碼參數。 然後,它檢索並列印條目名稱列表(檔案和資料夾名稱)在加密的 ZIP 壓縮檔案中。

GetArchiveEntryNames 方法收集條目名稱,然後透過 for-each 迴圈將每個名稱輸出到控制台。 這說明了如何使用IronZIP以簡明的方式從受密碼保護的zip壓縮檔中安全存取和檢索進入信息。

輸出

如何使用 C# 壓縮資料夾中的檔案:圖 4 - 來自前述範例程式碼的輸出

結論

總之,IronZIP 是一個強大且多用途的 C# 庫,用於處理 ZIP 文件。 其功能超越了基本壓縮提取提供如以下功能密碼保護、加密以及與各種檔案格式的相容性。 無論您是要建立備份系統、管理電子郵件附件,還是從網路下載檔案,IronZIP 都能以簡單且高效的方式簡化這些任務。

通過將IronZIP整合到您的C#應用程序中,您將獲得一個強大的工具,用於處理ZIP文件、增強數據安全性以及優化文件傳輸過程。 您可以受益於免費試用根據需要。

< 上一頁
如何在 C# 中將 Zip 壓縮檔案解壓縮到目錄
下一個 >
如何在 VB .NET 中解壓縮 Zip 文件

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

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