ZipFile Класс

Определение

Предоставляет статические методы для создания, извлечения и открытия zip-архивов.

public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
Наследование
ZipFile

Комментарии

Note

Чтобы использовать класс ZipFile в приложении .NET Framework, необходимо добавить ссылку на сборку System.IO.Compression.FileSystem в проекте. Сведения о добавлении ссылки на проект в Visual Studio см. в разделе How to: Add or Remove References.

Методы управления zip-архивами и их файлами распределяются по трем классам: ZipFile, ZipArchiveи ZipArchiveEntry.

Чтобы... Использовать...
Создание ZIP-архива из каталога ZipFile.CreateFromDirectory
Извлечение содержимого ZIP-архива в каталог ZipFile.ExtractToDirectory
Добавление новых файлов в существующий ZIP-архив ZipArchive.CreateEntry
Получение файла в ZIP-архиве ZipArchive.GetEntry
Извлечение всех файлов в ZIP-архиве ZipArchive.Entries
Открытие потока в отдельный файл, содержащийся в ZIP-архиве ZipArchiveEntry.Open
Удаление файла из ZIP-архива ZipArchiveEntry.Delete

Примеры

В этом примере показано, как создать и извлечь ZIP-архив с помощью ZipFile класса. Он сжимает содержимое папки в 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)

Асинхронно создает ZIP-архив по пути destinationArchiveFileName , который содержит файлы и каталоги из каталога, указанного в sourceDirectoryNameнем.

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

Асинхронно создает ZIP-архив по пути destinationArchiveFileName , который содержит файлы и каталоги в каталоге, указанном в sourceDirectoryNameнем.

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

Асинхронно создает ZIP-архив по пути destinationArchiveFileName , который содержит файлы и каталоги в каталоге, указанном в 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)

Асинхронно извлекает все файлы в указанном архиве в каталог файловой системы.

Указанный каталог не должен существовать. Этот метод создаст все вложенные каталоги и указанный каталог.

Если при извлечении архива возникает ошибка, архив останется частично извлеченным. Каждая запись будет извлечена таким образом, что извлеченный файл имеет тот же относительный путь к целевомуDirectoryName, что и запись в архив. Путь может указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Если архивируемый файл имеет недопустимое время последнего изменения, будет использоваться первый формат даты и времени, представленный в формате zip-метки времени (полночь 1 января 1980 г.).

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помощью .

Применяется к