ZipFile
Class
Definition
Provides static methods for creating, extracting, and opening zip archives.
public static class ZipFile
- Inheritance
-
ZipFile
Inherited Members
System.Object
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. |
| 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) | |
| 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. |