Partilhar via


ZipFile.ExtractToDirectory Método

Definição

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

Sobrecargas

Nome Description
ExtractToDirectory(String, String, Encoding, Boolean)

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

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(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, Boolean)

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

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(String, String)

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

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(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(String, String, Encoding, Boolean)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parâmetros

sourceArchiveFileName
String

O caminho no sistema de arquivos para o arquivo que deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório de destino no sistema de arquivos.

entryNameEncoding
Encoding

A codificação a ser usada ao ler nomes de entrada e comentários neste ZipArchive.

overwriteFiles
Boolean

true para substituir arquivos; false Caso contrário.

Exceções

sourceArchiveFileName ou destinationDirectoryName é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.

- ou -

entryNameEncoding é definido como uma codificação Unicode diferente de UTF-8.

sourceArchiveFileName ou destinationDirectoryName é null.

sourceArchiveFileName ou destinationDirectoryName especifica um caminho, um nome de arquivo ou ambos que excedem o comprimento máximo definido pelo sistema.

O caminho especificado ou sourceArchiveFileNamedestinationDirectoryName inválido (por exemplo, ele está em uma unidade não mapeada).

overwriteFilesé false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de um arquivo que já existe.destinationDirectoryName

- ou -

Ocorreu um erro de E/S.

- ou -

O nome de um ZipArchiveEntry tem comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.

- ou -

A extração de um ZipArchiveEntry resultaria em um destino de arquivo fora do diretório de destino (por exemplo, devido a acessadores de diretório pai).

- ou -

Um ZipArchiveEntry tem o mesmo nome de uma entrada já extraída do mesmo arquivo.

O chamador não tem a permissão necessária.

sourceArchiveFileName ou destinationDirectoryName está em um formato inválido.

sourceArchiveFileName não foi encontrado.

O arquivo especificado por sourceArchiveFileName não é válido ZipArchive.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

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.

Os sourceArchiveFileName parâmetros e destinationDirectoryName os parâmetros aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(Stream, String, Encoding, Boolean)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parâmetros

source
Stream

O fluxo do qual o arquivo zip deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

entryNameEncoding
Encoding

A codificação a ser usada ao ler ou gravar nomes de entrada e comentários neste arquivo morto. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada ou comentários.

overwriteFiles
Boolean

true para substituir arquivos; false Caso contrário.

Exceções

destinationDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

entryNameEncoding é definido como uma codificação Unicode diferente de UTF-8.

destinationDirectoryName ou source é null.

O caminho destinationDirectoryName especificado excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

overwriteFiles é false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName contém um formato inválido.

O arquivo morto contido no source fluxo não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino já não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(String, String, Encoding)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parâmetros

sourceArchiveFileName
String

O caminho para o arquivo que deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

entryNameEncoding
Encoding

A codificação a ser usada ao ler ou gravar nomes de entrada e comentários neste arquivo morto. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada ou comentários.

Exceções

destinationDirectoryName ou sourceArchiveFileName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

entryNameEncoding é definido como uma codificação Unicode diferente de UTF-8.

destinationDirectoryName ou sourceArchiveFileName é null.

O caminho especificado dentro destinationDirectoryName ou sourceArchiveFileName excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName ou sourceArchiveFileName contém um formato inválido.

sourceArchiveFileName não foi encontrado.

O arquivo especificado por sourceArchiveFileName não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

Esse método cria o diretório especificado e todos os subdiretórios, se necessário. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName parâmetros ou são sourceArchiveFileName geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se entryNameEncoding for definido como um valor diferente null, os nomes de entrada e os comentários serão decodificados de acordo com as seguintes regras:

  • Para entradas em que o sinalizador de codificação de idioma (no sinalizador de bits de uso geral do cabeçalho de arquivo local) não está definido, os nomes de entrada e os comentários são decodificados usando a codificação especificada.
  • Para entradas em que o sinalizador de codificação de idioma é definido, os nomes de entrada e os comentários são decodificados usando UTF-8.

Se entryNameEncoding estiver definido como null, os nomes de entrada e os comentários serão decodificados de acordo com as seguintes regras:

  • Para entradas em que o sinalizador de codificação de idioma (no sinalizador de bits de uso geral do cabeçalho de arquivo local) não está definido, os nomes de entrada e os comentários são decodificados usando a página de código padrão do sistema atual.
  • Para entradas em que o sinalizador de codificação de idioma é definido, os nomes de entrada e os comentários são decodificados usando UTF-8.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(String, String, Boolean)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

Parâmetros

sourceArchiveFileName
String

O caminho no sistema de arquivos para o arquivo que deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório de destino no sistema de arquivos.

overwriteFiles
Boolean

true para substituir arquivos; false Caso contrário.

Exceções

sourceArchiveFileName ou destinationDirectoryName é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.

sourceArchiveFileName ou destinationDirectoryName é null.

sourceArchiveFileName ou destinationDirectoryName especifica um caminho, um nome de arquivo ou ambos que excedem o comprimento máximo definido pelo sistema.

O caminho especificado ou sourceArchiveFileNamedestinationDirectoryName inválido (por exemplo, ele está em uma unidade não mapeada).

overwriteFiles é false e destinationDirectoryName já contém um arquivo com o mesmo nome de um arquivo que está sendo extraído.

- ou -

Ocorreu um erro de E/S.

- ou -

O nome de um ZipArchiveEntry tem comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.

- ou -

A extração de um ZipArchiveEntry resultaria em um destino de arquivo fora do diretório de destino (por exemplo, devido a acessadores de diretório pai).

- ou -

Um ZipArchiveEntry tem o mesmo nome de uma entrada do mesmo arquivo que já foi extraído.

O chamador não tem a permissão necessária.

sourceArchiveFileName ou destinationDirectoryName está em um formato inválido.

sourceArchiveFileName não foi encontrado.

O arquivo especificado por sourceArchiveFileName não é válido ZipArchive.

- ou -

Um ZipArchiveEntry não foi encontrado ou estava corrompido.

- ou -

Um ZipArchiveEntry foi compactado usando um método de compactação que não tem suporte.

Comentários

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.

Os sourceArchiveFileName parâmetros e destinationDirectoryName os parâmetros aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(Stream, String, Boolean)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

Parâmetros

source
Stream

O fluxo do qual o arquivo zip deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

overwriteFiles
Boolean

true para substituir arquivos; false Caso contrário.

Exceções

destinationDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

destinationDirectoryName ou source é null.

O caminho destinationDirectoryName especificado excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

overwriteFiles é false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName contém um formato inválido.

O arquivo morto contido no source fluxo não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino já não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(String, String)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)

Parâmetros

sourceArchiveFileName
String

O caminho para o arquivo que deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Exceções

destinationDirectoryName ou sourceArchiveFileName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

destinationDirectoryName ou sourceArchiveFileName é null.

O caminho especificado dentro destinationDirectoryName ou sourceArchiveFileName excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName ou sourceArchiveFileName contém um formato inválido.

sourceArchiveFileName não foi encontrado.

O arquivo especificado por sourceArchiveFileName não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

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 extrai esse conteúdo para uma nova pasta. Para usar a ZipFile classe, você deve referenciar o System.IO.Compression.FileSystem assembly em seu projeto.

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);
    }
}
open System.IO.Compression

let startPath = @".\start"
let zipPath = @".\result.zip"
let 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

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino já não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName parâmetros ou são sourceArchiveFileName geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(Stream, String)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)

Parâmetros

source
Stream

O fluxo do qual o arquivo zip deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Exceções

destinationDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

destinationDirectoryName ou source é null.

O caminho destinationDirectoryName especificado excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName contém um formato inválido.

O arquivo morto contido no source fluxo não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino já não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se uma entrada no arquivo zip for um link simbólico, ela será extraída como uma pasta regular, pois as informações simbólicas do link não serão preservadas no formato ZIP. Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a

ExtractToDirectory(Stream, String, Encoding)

Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs
Origem:
ZipFile.Extract.cs

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.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parâmetros

source
Stream

O fluxo do qual o arquivo zip deve ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual colocar os arquivos extraídos, especificados como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

entryNameEncoding
Encoding

A codificação a ser usada ao ler ou gravar nomes de entrada e comentários neste arquivo morto. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada ou comentários.

Exceções

destinationDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

entryNameEncoding é definido como uma codificação Unicode diferente de UTF-8.

destinationDirectoryName ou source é null.

O caminho destinationDirectoryName especificado excede o comprimento máximo definido pelo sistema.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).

O nome de uma entrada no arquivo morto contém Emptyapenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

Extrair uma entrada de arquivo morto criaria um arquivo fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso pode acontecer se o nome da entrada contiver acessadores de diretório pai.)

- ou -

Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.

O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.

destinationDirectoryName contém um formato inválido.

O arquivo morto contido no source fluxo não é um arquivo zip válido.

- ou -

Uma entrada de arquivo morto não foi encontrada ou corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação que não tem suporte.

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino já não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado pela destinationDirectoryName entrada de origem para a raiz do arquivo morto.

Se um arquivo a ser arquivado tiver uma hora de última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) serão usados.

Aviso

Esse método não limita o tamanho total descompactado ou o número de entradas extraídas do arquivo morto. Ao processar arquivos de fontes não confiáveis, itere sobre as entradas usando ZipArchivemanualmente e valide se o tamanho total não compactado e o número de entradas estão dentro dos limites aceitáveis para seu cenário.

Aplica-se a