
IronXL 使用 C# 開發人員的 Zip 壓縮教程
ZipArchive介紹
每當您想到要將文件以壓縮格式發送時,首先想到的通常是一個Zip檔案。Zip檔案是一種流行的格式,用於壓縮和打包單個文件或整個集合為一個檔案。然而,當需要壓縮大量文件時,處理它們可能變得令人沮喪,因為您必須逐一將它們存檔和格式化。 但不必如此。 大規模任務需要程式化自動化來完成。 我們可以使用IronZIP,一個簡單而直觀的程式庫,來實現這一切甚至更多。
在本文中,我們將簡要討論IronZIP的核心特點和功能,以及它如何幫助您更好地自動化工作流程,提高效率,並消除容易出錯的人工任務。
從文件夾或文件建立新的Zip文件
以下是一個範例,將多個文件壓縮為一個檔案,並在操作後將其匯出。 本文中的所有範例都封裝在static void Main()方法中,以避免重複的程式碼區塊。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Create an empty ZIP archive
using (var archive = new IronZipArchive())
{
// Add files to the ZIP archive
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP archive to a file
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create an empty ZIP archive
Using archive = New IronZipArchive()
' Add files to the ZIP archive
archive.Add("./assets/image1.jpg")
archive.Add("./assets/image2.jpg")
archive.Add("./assets/image3.jpg")
' Export the ZIP archive to a file
archive.SaveAs("output.zip")
End Using
End Sub
End Class- 我們首先導入IronZIP。
- 然後,使用IronZIP建立一個存檔。
- 我們調用
archive.Add()來將多個文件新增到存檔中。記住,路徑名必須是絕對路徑,否則操作將無法找到相應的文件。 - 最後,我們調用
output.zip。
用新文件或修改更新現有的Zip文件
讓我們看看另一個範例; 這次,我們將通過新增新文件來編輯現有的zip檔案,以展示IronZIP的功能。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
// Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png");
archive.Add("./assets/image4.png");
// Export the updated ZIP archive to a new file
archive.SaveAs("result.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive
Using archive = IronZipArchive.FromFile("existing.zip")
' Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png")
archive.Add("./assets/image4.png")
' Export the updated ZIP archive to a new file
archive.SaveAs("result.zip")
End Using
End Sub
End Class- 我們首先導入IronZIP。
- 使用IronZIP,我們建立一個存檔,但這次,我們通過
IronZipArchive.FromFile()導入現有的zip檔案。 - 我們調用
archive.Add()將所需的文件新增到存檔中。記住,路徑名必須是絕對路徑,否則操作將無法找到現有文件。 - 最後,我們調用
result.zip。
從上述程式碼中可以看出,操作和格式類似於用於建立和新增文件到Zip文件的方式。主要的區別是我們導入了zip檔案,這展現了IronZIP簡單而直觀的功能。
從Zip檔案中提取文件
我們還可以使用IronZIP來從Zip檔案或Zip包中提取文件。 讓我們在另一個範例中復習一下。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
End Sub
End Class我們導入IronZIP並調用IronZipArchive.ExtractArchiveToDirectory()。 此方法將現有zip檔案的內容提取到指定的目標目錄。
此外,在需要處理受密碼保護的zip檔案時,我們可以使用其他方法來提取檔案。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd")
End Sub
End Class最終,我們傳遞另一個參數:受保護zip檔案的密碼。其餘的操作如上所示。
進階主題與最佳實踐
上述新增、提取和建立存檔的程式碼範例是在處理zip檔案時最常見的。 然而,對於更高級的用法,例如提取其他格式或只是查看檔案的內容,IronZIP能幫助您實現這些功能及更多。
IronZIP的進階功能
-
跨平台相容性: IronZIP與廣泛的.NET版本相容,包括.NET Core (3.1+)、Standard (2.0+) 和 .NET Framework (4.6.2+)。 該程式庫還可在網頁 (Blazor)、移動裝置 (MAUI)、桌面 (WPF) 和控制台環境運作。 這讓開發者能超越平台和版本的限制。
-
生成檔案: 除了ZIP格式之外,IronZIP還支持建立TAR、GZIP和BZIP2檔案。
-
提取檔案: 使用IronZIP輕鬆提取檔案並解壓文件,只需一塊程式碼即可,如上所示。
-
新增文件和文件系統: IronZIP可以協助通過新增圖片、文字文件和文件(如PDF、DOCX和XLSX)以及音訊文件(如MP3和WAV)來操作zip檔案系統。甚至可以將整個文件系統或單個文字文件壓縮到一個ZipArchive存檔中。
-
匯出和建立: 您可以使用AES128和AES256標準來密碼保護檔案。 此外,您還可以生成並匯出TAR、GZIP和BZIP2格式。
-
自定義壓縮等級: IronZIP允許開發者調整壓縮設定以調整算法以滿足需求。
-
編輯檔案: 使用IronZIP輕鬆地新增、提取或刪除檔案中的條目,是一個完整的解決方案,用於相關操作的編輯。
-
文件條目屬性: IronZIP提供了設置可選存檔評論的功能,並在不提取的情況下檢索存檔內的文件名稱,有助於為每個文件留下特定的評論。
-
授權選擇: IronZIP提供了適應性的授權選擇,包括免費試用版本,讓開發者能選擇最符合自己需求的選項。
結論
處理壓縮文件和檔案是開發者經常面對的日常任務,但處理大量壓縮文件可能會讓人感到壓力巨大且容易出錯。 儘管像System.IO.Compression這樣的選項亦存在,使用IronZIP能讓您實現更多,並能快速解決在處理壓縮檔案時遇到的問題。 在本文中,我們討論了IronZIP的進階功能及建立zip檔案、刪除條目或新增文件等常見操作。 了解如何程式化地完成這些工作,能提高在使用IronZIP時處理檔案的效率、擴展性和自動化。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章


