IRONSOFTWAREHOME
與其他組件的比較

IronXL 使用 C# 開發人員的 Zip 壓縮教程

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

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");
        }
    }
}
  1. 我們首先導入IronZIP。
  2. 然後,使用IronZIP建立一個存檔。
  3. 我們調用archive.Add()來將多個文件新增到存檔中。記住,路徑名必須是絕對路徑,否則操作將無法找到相應的文件。
  4. 最後,我們調用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");
        }
    }
}
  1. 我們首先導入IronZIP。
  2. 使用IronZIP,我們建立一個存檔,但這次,我們通過IronZipArchive.FromFile()導入現有的zip檔案。
  3. 我們調用archive.Add()將所需的文件新增到存檔中。記住,路徑名必須是絕對路徑,否則操作將無法找到現有文件。
  4. 最後,我們調用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");
    }
}

我們導入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");
    }
}

最終,我們傳遞另一個參數:受保護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時處理檔案的效率、擴展性和自動化。

請注意: System.IO.Compression是其相關所有者的註冊商標。 此網站與System.IO.Compression無關、也未獲其認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供資訊參考,反映了撰寫時公開可用的資訊。
Curtis Chau
技術作家

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

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費即時演示
Booking Badge

全球數百萬工程師的信賴

Iron Software的客戶標誌
獲得無義務諮詢
填寫以下表格或電郵sales@ironsoftware.com
您的資料將始終保密。
全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立