ZipFile Class

Definition

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

public static class ZipFile
Inheritance
ZipFile

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.

Tip

To use the ZipFile class, you must reference the System.IO.Compression.FileSystem assembly in your project.

using System;
using System.IO;
using System.IO.Compression;

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

            ZipFile.CreateFromDirectory(startPath, zipPath);

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

Module Module1

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

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

Remarks

Important

To use the ZipFile class, you must add a reference to the System.IO.Compression.FileSystem assembly in your project; otherwise, you'll get the following error message when trying to compile : The name 'ZipFile' does not exist in the current context. For more information on how to add a reference to your project in Visual Studio, see How to: Add or Remove References By Using the Reference Manager.

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 an 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

You cannot use the ZipFile or ZipFileExtensions classes in Windows 8.x Store apps. In Windows 8.x Store apps, you should use the following classes to work with compressed files.

Methods

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.

Equals(Object) Inherited from Object
Equals(Object, Object) Inherited from Object
ExtractToDirectory(String, String)

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

ExtractToDirectory(String, String, Boolean)
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)
GetHashCode() Inherited from Object
GetType() Inherited from Object
MemberwiseClone() Inherited from Object
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.

ReferenceEquals(Object, Object) Inherited from Object
ToString() Inherited from Object

Applies to