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

Comentários

Note

Para usar a classe ZipFile em um aplicativo .NET Framework, você deve adicionar uma referência ao assembly System.IO.Compression.FileSystem em seu projeto. Para obter informações sobre como adicionar uma referência ao projeto em Visual Studio, consulte Como adicionar ou remover referências.

Os métodos para manipular arquivos zip e seus arquivos são distribuídos em três classes: ZipFile, ZipArchivee ZipArchiveEntry.

Para... Usar...
Criar um arquivo zip de um diretório ZipFile.CreateFromDirectory
Extrair o conteúdo de um arquivo zip para um diretório ZipFile.ExtractToDirectory
Adicionar novos arquivos a um arquivo zip existente ZipArchive.CreateEntry
Recuperar um arquivo em um arquivo zip ZipArchive.GetEntry
Recuperar todos os arquivos em um arquivo zip ZipArchive.Entries
Abrir um fluxo para um arquivo individual contido em um arquivo zip ZipArchiveEntry.Open
Excluir um arquivo de um arquivo zip ZipArchiveEntry.Delete

Exemplos

Este exemplo mostra como criar e extrair um arquivo zip usando a ZipFile classe. Ele compacta o conteúdo de uma pasta em um arquivo zip e, em seguida, 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

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

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

CreateFromDirectory(String, Stream, CompressionLevel, Boolean)

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

CreateFromDirectory(String, Stream)

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

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

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

CreateFromDirectory(String, String, CompressionLevel, Boolean)

Cria um arquivo zip que contém os arquivos e diretórios do diretório especificado, usa o nível de compactação especificado e, opcionalmente, inclui o diretório base.

CreateFromDirectory(String, String)

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

CreateFromDirectoryAsync(String, Stream, CancellationToken)

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado.

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

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

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

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado, usando o nível de compactação especificado e a codificação de caracteres para nomes de entrada e, opcionalmente, incluindo o diretório base.

CreateFromDirectoryAsync(String, String, CancellationToken)

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios do diretório especificado por sourceDirectoryName.

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

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios no diretório especificado por sourceDirectoryName.

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

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios no diretório especificado por sourceDirectoryName.

ExtractToDirectory(Stream, String, Boolean)

Extrai todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos.

ExtractToDirectory(Stream, String, Encoding, Boolean)

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

ExtractToDirectory(Stream, String, Encoding)

Extrai todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada e comentários.

ExtractToDirectory(Stream, String)

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

ExtractToDirectory(String, String, Boolean)

Extrai todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

ExtractToDirectory(String, String, Encoding, Boolean)

Extrai todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

ExtractToDirectory(String, String, Encoding)

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

ExtractToDirectory(String, String)

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

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Extrai de forma assíncrona todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos.

ExtractToDirectoryAsync(Stream, String, CancellationToken)

Extrai de forma assíncrona todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos.

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

Extrai de forma assíncrona todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos, usa a codificação de caracteres especificada para nomes de entrada e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos.

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

Extrai de forma assíncrona todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada.

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Extrai de forma assíncrona todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

ExtractToDirectoryAsync(String, String, CancellationToken)

Extrai de forma assíncrona todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

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

Extrai de forma assíncrona todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

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

Se houver um erro ao extrair o arquivo morto, o arquivo permanecerá parcialmente extraído. Cada entrada será extraída de modo que o arquivo extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo morto. O caminho tem permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, o primeiro datetime representável no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usado.

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

Extrai de forma assíncrona todos os arquivos no arquivo morto especificado para um diretório no sistema de arquivos.

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 de forma assíncrona um ZipArchive no modo especificado archiveFileNameZipArchiveMode .

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

Abre de forma assíncrona um ZipArchive no modo especificado archiveFileNameZipArchiveMode .

OpenRead(String)

Abre um arquivo zip para leitura no caminho especificado.

OpenReadAsync(String, CancellationToken)

Abre de forma assíncrona um ZipArchive caminho especificado para leitura. O arquivo especificado é aberto com FileMode.Open.

Aplica-se a