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-архив по пути |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
Асинхронно создает ZIP-архив по пути |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
Асинхронно создает ZIP-архив по пути |
| 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) |
Асинхронно открывается |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
Асинхронно открывается |
| OpenRead(String) |
Открывает zip-архив для чтения по указанному пути. |
| OpenReadAsync(String, CancellationToken) |
Асинхронно открывается указанный |