ZipFile 类

定义

提供用于创建、提取和打开 zip 存档的静态方法。

public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
继承
ZipFile

注解

注释

若要在 .NET Framework 应用中使用 ZipFile 类,必须在项目中添加对 System.IO.Compression.FileSystem 程序集的引用。 有关如何在Visual Studio中添加对项目的引用的信息,请参阅如何:添加或删除引用

处理 zip 存档及其文件的方法分布在三个类中:ZipFileZipArchiveZipArchiveEntry

自。。。 使用。。。
从目录创建 zip 存档 ZipFile.CreateFromDirectory
将 zip 存档的内容提取到目录 ZipFile.ExtractToDirectory
将新文件添加到现有 zip 存档 ZipArchive.CreateEntry
检索 zip 存档中的文件 ZipArchive.GetEntry
检索 zip 存档中的所有文件 ZipArchive.Entries
打开 zip 存档中包含的单个文件的流 ZipArchiveEntry.Open
从 zip 存档中删除文件 ZipArchiveEntry.Delete

示例

此示例演示如何使用 ZipFile 类创建和提取 zip 存档。 它将文件夹的内容压缩到 zip 存档中,然后将该内容提取到新文件夹中。

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

方法

名称 说明
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)

在指定流中创建包含指定目录中文件和目录的 zip 存档,对条目名称和注释使用指定的压缩级别和字符编码,并选择性地包括基目录。

CreateFromDirectory(String, Stream, CompressionLevel, Boolean)

在指定流中创建一个 zip 存档,其中包含指定目录中的文件和目录、使用指定的压缩级别,并选择性地包括基目录。

CreateFromDirectory(String, Stream)

在指定流中创建包含指定目录中的文件和目录的 zip 存档。

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

创建包含指定目录中的文件和目录的 zip 存档,对条目名称和注释使用指定的压缩级别和字符编码,并选择性地包括基目录。

CreateFromDirectory(String, String, CompressionLevel, Boolean)

创建包含指定目录中的文件和目录的 zip 存档,使用指定的压缩级别,并选择性地包括基目录。

CreateFromDirectory(String, String)

创建包含指定目录中的文件和目录的 zip 存档。

CreateFromDirectoryAsync(String, Stream, CancellationToken)

在指定流中异步创建 zip 存档,其中包含指定目录中的文件和目录。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)

使用指定的压缩级别(可选)以异步方式在指定流中创建 zip 存档,该流包含指定目录中的文件和目录(可选)。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)

使用指定压缩级别和条目名称的字符编码(可选)在指定流中创建包含指定目录中的文件和目录的 zip 存档,并选择性地包括基目录。

CreateFromDirectoryAsync(String, String, CancellationToken)

在路径 destinationArchiveFileName 上异步创建 zip 存档,其中包含由指定的 sourceDirectoryName目录的文件和目录。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

在路径 destinationArchiveFileName 上异步创建 zip 存档,其中包含由指定的 sourceDirectoryName目录中的文件和目录。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

在路径 destinationArchiveFileName 上异步创建 zip 存档,其中包含由指定的 sourceDirectoryName目录中的文件和目录。

ExtractToDirectory(Stream, String, Boolean)

从存储在指定流中的 zip 存档中提取所有文件,并将其放置在文件系统上的指定目标目录中,还可以选择是否应覆盖目标目录中的文件。

ExtractToDirectory(Stream, String, Encoding, Boolean)

从存储在指定流中的 zip 存档中提取所有文件,并将其放置在文件系统上的指定目标目录中,对条目名称和注释使用指定的字符编码,还可以选择是否应覆盖目标目录中的文件。

ExtractToDirectory(Stream, String, Encoding)

从存储在指定流中的 zip 存档中提取所有文件,并将其放置在文件系统上的指定目标目录中,并将指定的字符编码用于条目名称和注释。

ExtractToDirectory(Stream, String)

从存储在指定流中的 zip 存档中提取所有文件,并将其放置在文件系统上的指定目标目录中。

ExtractToDirectory(String, String, Boolean)

将指定存档中的所有文件提取到文件系统上的目录。

ExtractToDirectory(String, String, Encoding, Boolean)

将指定存档中的所有文件提取到文件系统上的目录。

ExtractToDirectory(String, String, Encoding)

将指定 zip 存档中的所有文件提取到文件系统上的目录,并将指定的字符编码用于条目名称和注释。

ExtractToDirectory(String, String)

将指定 zip 存档中的所有文件提取到文件系统上的目录。

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

从存储在指定流中的 zip 存档中异步提取所有文件,并将其放置在文件系统上的指定目标目录中,还可以选择是否应覆盖目标目录中的文件。

ExtractToDirectoryAsync(Stream, String, CancellationToken)

从存储在指定流中的 zip 存档中异步提取所有文件,并将其放置在文件系统上的指定目标目录中。

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

异步提取存储在指定流中的 zip 存档中的所有文件,并将其放置在文件系统上的指定目标目录中,对条目名称使用指定的字符编码,还可以选择是否应覆盖目标目录中的文件。

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

从存储在指定流中的 zip 存档中异步提取所有文件,并将其放置在文件系统上的指定目标目录中,并将指定的字符编码用于条目名称。

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

将指定存档中的所有文件异步提取到文件系统上的目录。

ExtractToDirectoryAsync(String, String, CancellationToken)

将指定存档中的所有文件异步提取到文件系统上的目录。

ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

将指定存档中的所有文件异步提取到文件系统上的目录。

指定的目录不得存在。 此方法将创建所有子目录和指定的目录。

如果在提取存档时出错,存档将保持部分提取。 将提取每个条目,以便提取的文件与目标目录名称的相对路径相同,因为该条目与存档项相同。 允许该路径指定相对路径或绝对路径信息。 相对路径信息解释为相对于当前工作目录。 如果要存档的文件上次修改时间无效,将使用 zip 时间戳格式(1980 年 1 月 1 日午夜)表示的第一个日期/时间。

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

将指定存档中的所有文件异步提取到文件系统上的目录。

Open(String, ZipArchiveMode, Encoding)

在指定模式下,在指定路径上打开 zip 存档,并使用指定字符编码输入名称和注释。

Open(String, ZipArchiveMode)

在指定路径和指定模式下打开 zip 存档。

OpenAsync(String, ZipArchiveMode, CancellationToken)

异步打开ZipArchive指定模式下的指定archiveFileNameZipArchiveMode项。

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

异步打开ZipArchive指定模式下的指定archiveFileNameZipArchiveMode项。

OpenRead(String)

打开 zip 存档,以便在指定路径上读取。

OpenReadAsync(String, CancellationToken)

异步打开 ZipArchive 指定路径上的读取路径。 使用 . 打开 FileMode.Open指定的文件。

适用于