跳過到頁腳內容
使用 IRONZIP

如何在 C# 中創建 Zip 存檔

File compression is a common practice in software development to efficiently manage and transfer multiple files as a single archive. The ability to create and manage zip archives is a valuable skill, especially when dealing with file organization and distribution.

Zip archives are compressed files that have been bundled together, which reduces their overall size for more efficient storage and transfer. With the capability to compress files into a single zip file, developers can easily manage and organize their data. Microsoft .NET technologies provide a Zip Archive class to generate Zip files in .NET applications. You can explore the documentation for the ZipArchive class in C# on the official Microsoft .NET documentation page ZipArchive Class.

Creating a zip archive in C# can also be achieved seamlessly with libraries like IronZIP. IronZIP, a powerful C# ZIP archive library, provides a user-friendly API to make it straightforward when you want to create, read, and extract zip archives within .NET applications.

In this article, we'll explore the key features of IronZIP, the prerequisites for its usage, and step-by-step instructions on creating a zip archive in a C# console project.

How to Create Zip Files in C#

  1. Create a Console Application in Visual Studio.
  2. Install a C# Zip Library via NuGet Package Manager.
  3. Set the Output Zip File Path by using the IronArchive class.
  4. Add Files to Zip using Add() method.

IronZIP

IronZIP is a leading C# ZIP archive library designed for creating, reading, and extracting archives in .NET. It offers a user-friendly API that prioritizes accuracy, ease of use, and speed. The library supports various file formats, which includes the ZIP, TAR, GZIP, and BZIP2 archives. With cross-platform compatibility and support for multiple .NET versions, IronZIP is versatile and caters to a wide range of development environments, including web, mobile, desktop, and console applications.

Key Features of IronZIP

  • Cross-Platform Support: Compatible with Windows, Linux, Mac, iOS, Android, Docker, Azure, and AWS.
  • .NET Compatibility: Fully supports .NET 7, 6, Core, Standard, and Framework.
  • File Format Support: Handles ZIP, TAR, GZIP, and BZIP2 archives.
  • Versatility: Designed for C#, F#, and VB.NET, supporting various project types.
  • Integration: Seamless integration with popular IDEs such as Microsoft Visual Studio and JetBrains ReSharper & Rider.

Prerequisites

Before diving into the implementation, ensure you have the following prerequisites in place:

  1. Visual Studio: Install Visual Studio, a comprehensive integrated development environment for building C# applications. If not installed, download it from its official website.
  2. IronZIP Package: Use NuGet Package Manager to install the IronZIP library for your project.

Visual Studio Console Project Setup

  1. Open Visual Studio and create a new Console Project.
  2. Configure the project name and location.

    How to Create Zip Archive in C#: Figure 1 - Setting Project Details on VS

  3. Choose the appropriate .NET version based on your project requirements. The latest is recommended and is also supported by IronZIP.

Install IronZIP via NuGet

Integrating IronZIP into the project is straightforward through NuGet Package Manager. Follow these steps:

  1. Open the Manage NuGet Packages for Solution by right-clicking the Solution Explorer.
  2. In the NuGet browse tab, search for IronZIP and click install.

    How to Create Zip Archive in C#: Figure 2 - Searching for IronZIP to install on NuGet Packages for Solution

  3. Alternatively, you can select NuGet Package Manager Console from the 'tools' menu. Then, in the console, you can run the following command to install IronZIP:

    Install-Package IronZip

Now, with IronZIP integrated into the project, let's proceed to create a zip archive.

How To (In C#) Create Zip Archive

In C#, specifically using IronZIP, the process of creating a zip archive is simplified. By initializing an IronArchive object, you can specify the name of the newly created zip file and then proceed to add files to it using the Add() method. This method takes file paths as parameters and allows for the inclusion of multiple files in the archive.

The compression level can also be customized based on the specific requirements of the application. For instance, specifying the compression level in the code allows developers to balance between file size reduction and the speed of compression.

Below is the sample code for creating a zip archive using IronZIP:

using IronZIP;

class Program
{
    public static void Main(string[] args)
    {
        // Create an empty ZIP archive
        using (var archive = new IronArchive("output.zip"))
        {
            // Add files to the ZIP archive
            archive.Add("./assets/image1.jpg");
            archive.Add("./assets/image2.jpg");
            archive.Add("./assets/image3.jpg");
        }
        // Inform the user that the ZIP file was created successfully
        Console.WriteLine("Zip file generated successfully!");
    }
}
using IronZIP;

class Program
{
    public static void Main(string[] args)
    {
        // Create an empty ZIP archive
        using (var archive = new IronArchive("output.zip"))
        {
            // Add files to the ZIP archive
            archive.Add("./assets/image1.jpg");
            archive.Add("./assets/image2.jpg");
            archive.Add("./assets/image3.jpg");
        }
        // Inform the user that the ZIP file was created successfully
        Console.WriteLine("Zip file generated successfully!");
    }
}
Imports IronZIP

Friend Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Create an empty ZIP archive
		Using archive = New IronArchive("output.zip")
			' Add files to the ZIP archive
			archive.Add("./assets/image1.jpg")
			archive.Add("./assets/image2.jpg")
			archive.Add("./assets/image3.jpg")
		End Using
		' Inform the user that the ZIP file was created successfully
		Console.WriteLine("Zip file generated successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Code Explanation

The above code snippet within the static void Main method exemplifies how to create a zip archive, compress multiple files, and specify the output zip archive. This provides a comprehensive solution for handling zip files in C#. Here is the code explanation:

  1. using IronZIP;: Import the IronZIP namespace in your C# file.
  2. new IronArchive("output.zip"): Create an empty IronArchive object, representing the output zip archive named "output.zip."
  3. archive.Add("./assets/image1.jpg");: Add files to the zip archive using the Add() method. In this example, three image files are included.
  4. Console.WriteLine("Zip file generated successfully!");: Display a success message after creating the zip file.

Output

After running the program, check the project's specified directory for the generated "output.zip" file containing all the files that were added. In this case, the specified image files. You have now stored your files effectively and efficiently, and you can access the original files through decompressing zip files.

How to Create Zip Archive in C#: Figure 3 - Output for Zip Archive generation code

Conclusion

Creating zip archives in C# is made simple and efficient with IronZIP. Its user-friendly API and cross-platform support make it a valuable tool for developers working on diverse .NET projects. Whether you're building web, mobile, desktop, or console applications, IronZIP's versatility and compatibility will enhance your file management processes and allow you to seamlessly create, read, and extract zip archives. Moreover, IronZIP facilitates the addition of files to an existing zip file, enhancing the versatility of the library for various file management scenarios.

Explore IronZIP's extensive documentation for more in-depth features and capabilities.

IronZIP comes with a free-trial-license for commercial use, with its lite package starting from $799. Download the library from here and give it a try.

常見問題解答

如何在 C# 中創建 zip 檔案?

您可以通過使用 IronZIP 庫在 C# 中創建 zip 檔案。首先,初始化一個 IronArchive 物件,然後指定 zip 檔案名稱並使用 Add() 方法來新增檔案。IronZIP 還允許您自定壓縮級別以適應不同的 zip 檔案需求。

IronZIP 處理檔案的關鍵特點有哪些?

IronZIP 提供跨平台支持,兼容 .NET 7、6、Core、Standard 和 Framework,支持多種檔案格式如 ZIP、TAR、GZIP 和 BZIP2。它提供了用戶友好的 API 來創建、讀取和提取檔案。

如何在 Visual Studio 專案中安裝 IronZIP?

要在 Visual Studio 專案中安裝 IronZIP,請打開「管理 NuGet 套件」,搜尋 IronZIP 並點選安裝。或者,使用 NuGet 套件管理器控制台來運行命令 Install-Package IronZIP

IronZIP 可以在不同的作業系統上使用嗎?

可以,IronZIP 設計為跨平台兼容,支持在 Windows、Linux、Mac、iOS、Android、Docker、Azure 和 AWS 上開發,使其適合各種專案需求。

IronZIP 有試用版嗎?

有,IronZIP 提供免費的商業使用試用許可,允許開發者在購買完整版本之前測試其功能。

如何使用 IronZIP 向現有的 zip 檔案中添加文件?

要使用 IronZIP 向現有的 zip 文件中添加文件,使用 IronArchive 類的 Add() 方法,指定您想要在檔案中包含的文件路徑。

哪些 IDE 與 IronZIP 兼容?

IronZIP 可與多個流行的 IDE 如 Microsoft Visual Studio 和 JetBrains ReSharper & Rider 無縫整合,提供流暢的開發體驗。

IronZIP 能處理哪些文件格式?

IronZIP 可以處理多種壓縮檔案格式,包括 ZIP、TAR、GZIP 和 BZIP2,允許靈活管理不同類型的壓縮檔案。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。