Create, Read, and Extract Zip Tutorial

Create ZIP generates a new ZIP archive by selecting files or directories, specifying compression settings, and creating the archive.

Read ZIP opens an existing ZIP archive to access its contents for viewing or extracting specific files.

Extract ZIP retrieves contents by specifying the source ZIP file, the destination folder, and extracting files and directories to the specified location.

In addition to these functions, IronZip can also open an existing ZIP file, add more files to it, and then export the result as a new ZIP file containing all the included files.

C# NuGet Library for

Install with NuGet

Install-Package IronZip

Create an Archive Example

To create a ZIP archive object, you can conveniently use the 'using' statement in C# along with the IronZipArchive constructor. IronZip makes this process straightforward, allowing you to establish an empty ZIP archive with just a few lines of code.

Next, utilize the AddArchiveEntry method to import your files into the ZIP archive. This method allows you to add files from various locations, including an entire directory where all the files within it will be included.

Lastly, use the SaveAs method to export the ZIP file.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-create.cs
using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.png");
    archive.Add("./assets/image2.png");

    // Export the ZIP file
    archive.SaveAs("output.zip");
}
Imports IronZip

' Create an empty ZIP
Using archive = New IronZipArchive()
	' Add files to the ZIP
	archive.Add("./assets/image1.png")
	archive.Add("./assets/image2.png")

	' Export the ZIP file
	archive.SaveAs("output.zip")
End Using
VB   C#

Unarchive an Archive to Folder

To retrieve the contents from a ZIP file, you can use the ExtractArchiveToDirectory method. Simply indicate the path of the target ZIP file and the directory where you want the extracted files to be placed.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-extract.cs
using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
Imports IronZip

' Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
VB   C#

Add Files to An Existing Archive

You can efficiently modify an existing ZIP archive with additional files using IronZip. The process begins by instantiating the ZIP archive object from an existing ZIP file path. Once the archive is opened, you can use the AddArchiveEntry method to add files to the existing archive.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-add-files.cs
using IronZip;

// Open existing ZIP
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP file
    archive.SaveAs("result.zip");
}
Imports IronZip

' Open existing ZIP
Using archive = IronZipArchive.FromFile("existing.zip")
	' Add files
	archive.Add("./assets/image3.png")
	archive.Add("./assets/image4.png")

	' Export the ZIP file
	archive.SaveAs("result.zip")
End Using
VB   C#

With this functionality, you can efficiently update and expand your ZIP archives to suit your project's evolving needs. IronZip makes the process of managing archives in your C# projects a breeze.

A similar approach can be achieved for other archive and compression formats such as TAR, GZIP, and BZIP2 using the IronTarArchive, IronGZipArchive, and IronBZip2Archive classes, respectively.