ZipFile Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
De forma assíncrona, cria um arquivo zip no caminho |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
De forma assíncrona, cria um arquivo zip no caminho |
| 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 |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
Abre assíncronamente a |
| OpenRead(String) |
Abre um arquivo zip para leitura no caminho especificado. |
| OpenReadAsync(String, CancellationToken) |
Abre assíncronamente a |