ZipFile Classe

Definição

Fornece métodos estáticos para criar, extrair e abrir arquivos zip.

public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
Herança
ZipFile

Observações

Note

Para usar a classe ZipFile numa aplicação .NET Framework, deve adicionar uma referência ao assembly System.IO.Compression.FileSystem no seu projeto. Para informações sobre como adicionar uma referência ao seu projeto em Visual Studio, veja Como: Adicionar ou Remover Referências.

Os métodos para manipular arquivos zip e os seus ficheiros estão distribuídos por três classes: ZipFile, ZipArchive, e ZipArchiveEntry.

To... Usa...
Crie um arquivo zip a partir de um diretório ZipFile.CreateFromDirectory
Extrair o conteúdo de um arquivo zip para um diretório ZipFile.ExtractToDirectory
Adicionar novos ficheiros a um arquivo zip existente ZipArchive.CreateEntry
Recuperar um ficheiro num arquivo zip ZipArchive.GetEntry
Recuperar todos os ficheiros num arquivo zip ZipArchive.Entries
Abra um fluxo para um ficheiro individual contido num arquivo zip ZipArchiveEntry.Open
Apagar um ficheiro de um arquivo zip ZipArchiveEntry.Delete

Exemplos

Este exemplo mostra como criar e extrair um arquivo zip usando a ZipFile classe. Comprime o conteúdo de uma pasta num arquivo zip e depois extrai esse conteúdo para uma nova pasta.

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

Métodos

Name Description
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)

Cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, utiliza o nível de compressão e a codificação de caracteres especificados para nomes de entrada e comentários, e inclui opcionalmente o diretório base.

CreateFromDirectory(String, Stream, CompressionLevel, Boolean)

Cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, utiliza o nível de compressão especificado e, opcionalmente, inclui o diretório base.

CreateFromDirectory(String, Stream)

Cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado.

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

Cria um arquivo zip que contém os ficheiros e diretórios do diretório especificado, utiliza o nível de compressão e a codificação de caracteres especificados para nomes de entrada e comentários, e inclui opcionalmente o diretório base.

CreateFromDirectory(String, String, CompressionLevel, Boolean)

Cria um arquivo zip que contém os ficheiros e diretórios do diretório especificado, utiliza o nível de compressão especificado e, opcionalmente, inclui o diretório base.

CreateFromDirectory(String, String)

Cria um arquivo zip que contém os ficheiros e diretórios do diretório especificado.

CreateFromDirectoryAsync(String, Stream, CancellationToken)

De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado.

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

De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão especificado, e opcionalmente incluindo o diretório base.

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

De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão e a codificação de caracteres especificados para os nomes das entradas, e opcionalmente incluindo o diretório base.

CreateFromDirectoryAsync(String, String, CancellationToken)

De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios do diretório especificado por sourceDirectoryName.

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

De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios no diretório especificado por sourceDirectoryName.

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

De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios no diretório especificado por sourceDirectoryName.

ExtractToDirectory(Stream, String, Boolean)

Extrai todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, permitindo opcionalmente escolher se os ficheiros no diretório de destino devem ser sobrescrevidos.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Extrai todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, utiliza a codificação de caracteres especificada para nomes de entrada e comentários, e permite opcionalmente escolher se os ficheiros no diretório de destino devem ser sobrescrevidos.

ExtractToDirectory(Stream, String, Encoding)

Extrai todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, utilizando a codificação de caracteres especificada para nomes de entradas e comentários.

ExtractToDirectory(Stream, String)

Extrai todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros.

ExtractToDirectory(String, String, Boolean)

Extrai todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

ExtractToDirectory(String, String, Encoding, Boolean)

Extrai todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

ExtractToDirectory(String, String, Encoding)

Extrai todos os ficheiros do arquivo zip especificado para um diretório no sistema de ficheiros e utiliza a codificação de caracteres especificada para nomes de entrada e comentários.

ExtractToDirectory(String, String)

Extrai todos os ficheiros do arquivo zip especificado para um diretório no sistema de ficheiros.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, permitindo opcionalmente escolher se os ficheiros no diretório de destino devem ser sobrescrevidos.

ExtractToDirectoryAsync(Stream, String, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros.

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

Extrai assíncronamente todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, utiliza a codificação de caracteres especificada para nomes de entrada e, opcionalmente, permite escolher se os ficheiros no diretório de destino devem ser sobrescrevidos.

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo zip armazenado no fluxo especificado e coloca-os no diretório de destino especificado no sistema de ficheiros, utilizando a codificação de caracteres especificada para os nomes das entradas.

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

ExtractToDirectoryAsync(String, String, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

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

Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

O diretório especificado não pode existir. Este método criará todos os subdiretórios e o diretório especificado.

Se houver um erro durante a extração do arquivo, este permanecerá parcialmente extraído. Cada entrada será extraída de modo que o ficheiro extraído tenha o mesmo caminho relativo até ao DestinationDirectoryName que a entrada tem para o arquivo. O caminho pode especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, será utilizada a primeira data-hora representável no formato de carimbo postal (meia-noite de 1 de janeiro de 1980).

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.

Open(String, ZipArchiveMode, Encoding)

Abre um arquivo zip no caminho especificado, no modo especificado, e usando a codificação de caracteres especificada para nomes de entrada e comentários.

Open(String, ZipArchiveMode)

Abre um arquivo zip no caminho especificado e no modo especificado.

OpenAsync(String, ZipArchiveMode, CancellationToken)

Abre assíncronamente a ZipArchive no especificado archiveFileName no modo especificado ZipArchiveMode .

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

Abre assíncronamente a ZipArchive no especificado archiveFileName no modo especificado ZipArchiveMode .

OpenRead(String)

Abre um arquivo zip para leitura no caminho especificado.

OpenReadAsync(String, CancellationToken)

Abre assíncronamente a ZipArchive no caminho especificado para leitura. O ficheiro especificado é aberto com FileMode.Open.

Aplica-se a