ZipFile Class

Definition

Provides static methods for creating, extracting, and opening zip archives.

public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
Inheritance
ZipFile

Remarks

Note

To use the ZipFile class in a .NET Framework app, you must add a reference to the System.IO.Compression.FileSystem assembly in your project. For information on how to add a reference to your project in Visual Studio, see How to: Add or Remove References.

The methods for manipulating zip archives and their files are spread across three classes: ZipFile, ZipArchive, and ZipArchiveEntry.

To... Use...
Create a zip archive from a directory ZipFile.CreateFromDirectory
Extract the contents of a zip archive to a directory ZipFile.ExtractToDirectory
Add new files to an existing zip archive ZipArchive.CreateEntry
Retrieve a file in a zip archive ZipArchive.GetEntry
Retrieve all of the files in a zip archive ZipArchive.Entries
To open a stream to an individual file contained in a zip archive ZipArchiveEntry.Open
Delete a file from a zip archive ZipArchiveEntry.Delete

Examples

This example shows how to create and extract a zip archive by using the ZipFile class. It compresses the contents of a folder into a zip archive, and then extracts that content to a new folder.

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

Methods

CreateFromDirectory(String, Stream)

Creates a zip archive in the specified stream that contains the files and directories from the specified directory.

CreateFromDirectory(String, Stream, CompressionLevel, Boolean)

Creates a zip archive in the specified stream that contains the files and directories from the specified directory, uses the specified compression level, and optionally includes the base directory.

CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)

Creates a zip archive in the specified stream that contains the files and directories from the specified directory, uses the specified compression level and character encoding for entry names, and optionally includes the base directory.

CreateFromDirectory(String, String)

Creates a zip archive that contains the files and directories from the specified directory.

CreateFromDirectory(String, String, CompressionLevel, Boolean)

Creates a zip archive that contains the files and directories from the specified directory, uses the specified compression level, and optionally includes the base directory.

CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)

Creates a zip archive that contains the files and directories from the specified directory, uses the specified compression level and character encoding for entry names, and optionally includes the base directory.

ExtractToDirectory(Stream, String)

Extracts all the files from the zip archive stored in the specified stream and places them in the specified destination directory on the file system.

ExtractToDirectory(Stream, String, Boolean)

Extracts all the files from the zip archive stored in the specified stream and places them in the specified destination directory on the file system, and optionally allows choosing if the files in the destination directory should be overwritten.

ExtractToDirectory(Stream, String, Encoding)

Extracts all the files from the zip archive stored in the specified stream and places them in the specified destination directory on the file system and uses the specified character encoding for entry names.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Extracts all the files from the zip archive stored in the specified stream and places them in the specified destination directory on the file system, uses the specified character encoding for entry names, and optionally allows choosing if the files in the destination directory should be overwritten.

ExtractToDirectory(String, String)

Extracts all the files in the specified zip archive to a directory on the file system.

ExtractToDirectory(String, String, Boolean)

Extracts all of the files in the specified archive to a directory on the file system.

ExtractToDirectory(String, String, Encoding)

Extracts all the files in the specified zip archive to a directory on the file system and uses the specified character encoding for entry names.

ExtractToDirectory(String, String, Encoding, Boolean)

Extracts all of the files in the specified archive to a directory on the file system.

Open(String, ZipArchiveMode)

Opens a zip archive at the specified path and in the specified mode.

Open(String, ZipArchiveMode, Encoding)

Opens a zip archive at the specified path, in the specified mode, and by using the specified character encoding for entry names.

OpenRead(String)

Opens a zip archive for reading at the specified path.

Applies to