跳至頁尾內容
USING IRONZIP

C# ZIP 文件(使用 IronZip 的開發者教程)

ZIP是一種流行的方法,能夠透過FileStream有效地壓縮和整合多個檔案和資料夾為一個統一的ZIP檔案。 在C#中與這些檔案一起工作非常容易,使用IronZIP命名空間,提供類別來建立及從路徑或個別檔案中提取現有的ZIP,並操作ZIP檔案。 無論您是在壓縮檔案、處理受密碼保護的ZIP,還是解壓縮檔案,IronZIP命名空間中的ZipFile類都是您不可或缺的盟友。

在本教程中,我們不僅探索建立和提取ZIP檔案的基本過程,還學習實現此目的的程式碼範例。 ZipArchive類可以輕易地進行字串路徑處理,使您能夠以無與倫比的精確性瀏覽和操作ZIP檔案。

此外,除了ZIP操作之外,我們還將探索IronPDF,這是一款壓縮PDF檔案而不影響文件完整性的工具。 IronZIP和IronPDF的結合為開發者提供了一組強大的工具,可以在C#環境中高效地管理壓縮檔案和簡化PDF。

先決條件

在您使用 IronZIP 和 IronPDF 操作 ZIP 檔案之前,請確保符合以下前提條件:

  1. Visual Studio:安裝 Visual Studio 或任何您選擇的其他 C# 整合開發環境(IDE)。
  2. 基礎 C# 知識:熟悉 C# 程式設計語言的基本概念。

安裝 IronZIP 套件

要開始使用IronZIP,迅速在專案中安裝IronZIP NuGet套件。 在 NuGet 套件管理器主控台中執行以下命令:

Install-Package IronZip

或者,直接從 官方 IronZIP NuGet 網站下載套件。

安裝完成後,請在您的C#程式碼頂部新增using IronZip;語句以啟動您的程式碼。

應用授權金鑰

確保您有一個有效的IronZIP授權或試用金鑰。通過將授權金鑰分配給LicenseKey屬性來應用授權金鑰。 在導入聲明後立即包含以下程式碼,並在使用任何 IronZIP 方法之前:

using IronZip;

namespace YourNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            // Apply the IronZIP license key
            IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
            // Your ZIP manipulation code using IronZIP
        }
    }
}
using IronZip;

namespace YourNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            // Apply the IronZIP license key
            IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
            // Your ZIP manipulation code using IronZIP
        }
    }
}
Imports IronZip

Namespace YourNamespace
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Apply the IronZIP license key
			IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01"
			' Your ZIP manipulation code using IronZIP
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

這個步驟對於在您的專案中發揮 IronZIP 的全部潛力至關重要。

建立ZIP檔案

使用IronZIP建立ZIP檔案非常簡單。 利用IronArchive類來建立一個空的ZIP檔案,然後向其中新增檔案。 以下程式碼片段演示了如何建立名為"Images.zip"的ZIP檔案並向其新增四個圖像檔案:

using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create an archive called Images.zip
            using (var archive = new IronArchive("Images.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Datasets\1002-v1.png");
                archive.Add(@"E:\Datasets\1002-v2.png");
                archive.Add(@"E:\Datasets\1002-v3.png");
                archive.Add(@"E:\Datasets\1002-v4.png");
            }  // The archive is automatically closed here
        }
    }
}
using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create an archive called Images.zip
            using (var archive = new IronArchive("Images.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Datasets\1002-v1.png");
                archive.Add(@"E:\Datasets\1002-v2.png");
                archive.Add(@"E:\Datasets\1002-v3.png");
                archive.Add(@"E:\Datasets\1002-v4.png");
            }  // The archive is automatically closed here
        }
    }
}
Imports IronZip

Namespace CSharpZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create an archive called Images.zip
			Using archive = New IronArchive("Images.zip")
				' Add files to the ZIP
				archive.Add("E:\Datasets\1002-v1.png")
				archive.Add("E:\Datasets\1002-v2.png")
				archive.Add("E:\Datasets\1002-v3.png")
				archive.Add("E:\Datasets\1002-v4.png")
			End Using ' The archive is automatically closed here
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

archive關聯。 IronArchive的構造函式需要一個參數:ZIP檔案的名稱(在此例中為"Images.zip")。

程式碼將四個檔案新增到由archive變數表示的ZIP檔案中。 檔案通過其完整路徑指定:

  • E:\Datasets\1002-v1.png
  • E:\Datasets\1002-v2.png
  • E:\Datasets\1002-v3.png
  • E:\Datasets\1002-v4.png

由於using語句確保在退出程式碼塊時正確關閉檔案並釋放資源。

透過這種方式,該程式建立了一個名為"Images.zip"的ZIP檔案,並向其中新增了四個圖像檔案。 IronZIP使這一過程變得超級簡單、快速且有效。

解壓ZIP檔案

我們可以使用C#中的單行程式碼來解壓ZIP檔案。

using IronZip; 

namespace YourNamespace
{
    public class ExtractionExample
    {
        public static void Main(string[] args)
        {
            // Extract contents of the ZIP archive
            IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
        }
    }
}
using IronZip; 

namespace YourNamespace
{
    public class ExtractionExample
    {
        public static void Main(string[] args)
        {
            // Extract contents of the ZIP archive
            IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
        }
    }
}
Imports IronZip

Namespace YourNamespace
	Public Class ExtractionExample
		Public Shared Sub Main(ByVal args() As String)
			' Extract contents of the ZIP archive
			IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

上述程式碼提取了名為"Images.zip"的ZIP檔案的內容。 提取出的檔案放置在名為"Extracted Images"的目錄中。 ExtractArchiveToDirectory方法來達成此目的,使ZIP檔案內容的提取非常高效。

C#-zip-library-tutorial-1 這個單行程式碼高效地處理了提取過程,簡化了檔案管理。

Add Files to an Existing ZIP file using C

在C#軟體應用中,新增檔案到現有的ZIP檔案對於動態內容管理來說非常有價值。 想像一下檔案管理應用程式,使用者可以通過新增新檔案來輕鬆擴展一個壓縮的檔案包。 IronZIP為修改任何現有的ZIP檔案提供了無縫的功能。

using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Open an existing ZIP file and create a new one
            using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
            {
                // Add new files to the ZIP
                archive.Add(@"E:\Datasets\1011-v1.png");
                archive.Add(@"E:\Datasets\1011-v2.png");
            }  // The new archive is automatically closed here
        }
    }
}
using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Open an existing ZIP file and create a new one
            using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
            {
                // Add new files to the ZIP
                archive.Add(@"E:\Datasets\1011-v1.png");
                archive.Add(@"E:\Datasets\1011-v2.png");
            }  // The new archive is automatically closed here
        }
    }
}
Imports IronZip

Namespace CSharpZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Open an existing ZIP file and create a new one
			Using archive = IronArchive.FromFile("Images.zip", "NewImages.zip")
				' Add new files to the ZIP
				archive.Add("E:\Datasets\1011-v1.png")
				archive.Add("E:\Datasets\1011-v2.png")
			End Using ' The new archive is automatically closed here
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

IronArchive.FromFile("Images.zip", "NewImages.zip")方法從名為"Images.zip"的現有ZIP檔案建立了一個存檔物件,並指定新存檔應命名為"NewImages.zip"。

using塊內的兩行程式碼將檔案新增到新建立的存檔中:

  • archive.Add(@"E:\Datasets\1011-v1.png");
  • archive.Add(@"E:\Datasets\1011-v2.png");

這些行程式碼將指定的圖像檔案新增到"NewImages.zip"存檔中。

檔案系統

壓縮PDF檔案

除了管理ZIP,C#還提供了無縫壓縮PDF檔案的功能。 這項任務借助第三方程式庫實現:IronPDF。 它作為壓縮PDF時能夠保持品質的可靠解決方案而脫穎而出。

介紹 IronPDF

IronPDF是一個多功能的C#程式庫,旨在幫助開發者在其.NET應用程式中高效處理PDF文件。 它提供許多功能,包括PDF生成、操作、文字和圖像提取、表單處理、數位簽名、HTML轉PDF、PDF壓縮和安全增強。 這些能力使之成為在.NET框架下進行PDF建立、編輯、報告生成及文件管理等任務的無價工具,確保生產力和定制PDF操作的能力。

安裝IronPDF

要將IronPDF納入您的專案,請在套件管理控制台中執行以下命令:

Install-Package IronZip

Write a Code to Compress PDF File in C

以下程式碼範例演示了如何在保持檔案品質的同時壓縮PDF檔案。

using IronPdf;

namespace YourNamespace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Load the PDF document
            var pdf = new PdfDocument(@"E:\myPDF.pdf");

            // Compress images in the PDF to 60% of original quality
            pdf.CompressImages(60);

            // Save the compressed PDF
            pdf.SaveAs(@"E:\myCompressedPDF.pdf");
        }
    }
}
using IronPdf;

namespace YourNamespace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Load the PDF document
            var pdf = new PdfDocument(@"E:\myPDF.pdf");

            // Compress images in the PDF to 60% of original quality
            pdf.CompressImages(60);

            // Save the compressed PDF
            pdf.SaveAs(@"E:\myCompressedPDF.pdf");
        }
    }
}
Imports IronPdf

Namespace YourNamespace
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Load the PDF document
			Dim pdf = New PdfDocument("E:\myPDF.pdf")

			' Compress images in the PDF to 60% of original quality
			pdf.CompressImages(60)

			' Save the compressed PDF
			pdf.SaveAs("E:\myCompressedPDF.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

在上述程式碼中,我們使用IronPDF打開"myPDF.pdf"。 CompressImages方法將圖像品質降低到60%,壓縮後的PDF將保存為"myCompressedPDF.pdf"至指定位置。

輸出

執行上述程式碼後,根據輸出顯示,壓縮後的PDF檔案大小由原本的0.9 MB縮小至254 KB,這展示了IronPDF在不犧牲品質的情況下有效壓縮PDF檔案的效用。

檔案大小比較

Efficient File Management with IronZIP and IronPDF in C

在C#開發中,IronZIP和IronPDF的組合提供了一個全面檔案管理的強大解決方案。 IronZIP在高效壓縮和操作ZIP檔案方面表現出色,為開發者建立及提取存檔提供了無縫的體驗。 同時,IronPDF是一個強大的工具來處理PDF文件,允許在保持文件完整性的同時進行壓縮。 此整合使開發者能輕鬆地在壓縮檔案和PDF文件之間切換,提升其應用程式的整體功能和性能。

無論是將各種檔案壓縮進一個ZIP檔案,還是優化PDF文件大小,IronZIP和IronPDF合力形成了一個靈活的工具包,解決了多種與檔案有關的挑戰。

結論

總之,IronZIP為C#開發者操作壓縮檔案提供了強大的能力,使得開發者能有效建立、提取和操作存檔。 IronPDF也是壓縮PDF檔案的強大工具,便於在保持文件完整性的同時減小檔案大小。 開發者可以利用這些特性來提升應用程式的性能和功能,確保對已存檔和壓縮檔案的無縫處理。 此外,有必要指出的是,IronPDF提供了一種靈活的授權模式,包括免費試用,允許開發者探索其功能並確定最適合其專案的選擇。 這段試用期為開發者在承諾授權之前評估IronZIP和IronPDF的功能提供了寶貴的機會。

常見問題

如何在C#中建立ZIP文件?

要在C#中建立ZIP檔案,可以使用IronZIP程式庫中的IronArchive類。此類允許您建立一個空的ZIP檔案並新增文件,它提供管理ZIP內容的高效方法。

如何在C#中從ZIP壓縮檔中提取文件?

您可以使用IronZIP程式庫中的IronArchive類的ExtractArchiveToDirectory方法從ZIP壓縮檔中提取文件。此方法允許您指定要提取文件的目錄。

我可以在C#中處理受密碼保護的ZIP文件嗎?

是的,IronZIP提供處理受密碼保護的ZIP文件的功能,能夠安全地壓縮和提取敏感資料。

在C#中安裝ZIP程式庫封裝的步驟是什麼?

要安裝IronZIP程式庫,可以在NuGet封裝管理控制台中使用命令Install-Package IronZip或直接從IronZIP官方NuGet網站下載。

如何在C#中應用ZIP程式庫的授權金鑰?

要應用IronZIP的授權金鑰,請在應用程式中將授權金鑰指派給Licensing.License類的LicenseKey屬性。

如何在C#中壓縮PDF文件?

要在C#中壓縮PDF文件,您可以使用IronPDF。載入PDF文件並應用CompressImages方法以降低圖像品質,然後將壓縮後的PDF保存至所需位置。

是否有可供C#使用的PDF程式庫的試用版本?

是的,IronPDF提供免費試用版本,允許開發者在購買授權協議前了解其功能。

在C#中處理ZIP和PDF文件的先決條件是什麼?

要在C#中處理ZIP和PDF文件,您需要安裝Visual Studio或類似C#整合開發環境,並具備基本的C#程式概念。此外,您還需要IronZIP和IronPDF程式庫。

用於處理ZIP文件的C#工具是什麼?

IronZIP是一個專門為C#設計的程式庫,旨在高效建立、操作和提取ZIP壓縮檔,非常適合在.NET應用中處理ZIP文件的開發者使用。

Curtis Chau
技術作家

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

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話