ZipFile.ExtractToDirectory Método

Definição

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

Sobrecargas

ExtractToDirectory(String, String, Encoding, Boolean)

Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Extrai todos os arquivos do arquivo zip armazenados 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.

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.

ExtractToDirectory(String, String, Boolean)

Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.

ExtractToDirectory(Stream, String, Boolean)

Extrai todos os arquivos do arquivo zip armazenados 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 em um diretório do 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 armazenados 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.

ExtractToDirectory(String, String, Encoding, Boolean)

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

Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.

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);

Parâmetros

sourceArchiveFileName
String

O caminho no sistema de arquivos para os arquivos que devem ser extraídos.

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 neste ZipArchive.

overwriteFiles
Boolean

true para substituir arquivos; caso contrário, false.

Exceções

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

- ou -

entryNameEncoding é definido com 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 tamanho máximo definido pelo sistema.

O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é 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 no destinationDirectoryName.

- ou -

Ocorreu um erro de E/S.

- ou -

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

- ou -

A extração de uma ZipArchiveEntry resulta em um destino de arquivo que está fora do diretório de destino (por exemplo, devido aos acessadores de diretório pai).

- ou -

Uma ZipArchiveEntry tem o mesmo nome de uma entrada já extraída dos mesmos arquivos.

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

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

sourceArchiveFileName não foi encontrado.

Os arquivos especificados por sourceArchiveFileName não são ZipArchive válidos.

- ou -

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

- ou -

Uma entrada de arquivos foi compactada usando um método de compactação sem 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 aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

ExtractToDirectory(Stream, String, Encoding, Boolean)

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

Extrai todos os arquivos do arquivo zip armazenados 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.

public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);

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 os arquivos extraídos serão colocados, especificado 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 nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.

overwriteFiles
Boolean

true para substituir arquivos; caso contrário, false.

Exceções

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

- ou -

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

destinationDirectoryName ou source é null.

O caminho especificado em destinationDirectoryName 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

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

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e .NET 8
Produto Versões
.NET 8, 9

ExtractToDirectory(String, String, Encoding)

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.

public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);

Parâmetros

sourceArchiveFileName
String

O caminho para o arquivo morto a ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado 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 nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.

Exceções

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

- ou -

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

destinationDirectoryName ou sourceArchiveFileName é null.

O caminho especificado no destinationDirectoryName ou sourceArchiveFileName excede o tamanho 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação sem 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 sourceArchiveFileName 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto.

Se entryNameEncoding for definido como um valor diferente nullde , os nomes de entrada serão decodificados de acordo com as seguintes regras:

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

Se entryNameEncoding for definido nullcomo , os nomes de entrada 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 do arquivo local) não está definido, os nomes de entrada 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 são decodificados usando UTF-8.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ExtractToDirectory(String, String, Boolean)

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

Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.

public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);

Parâmetros

sourceArchiveFileName
String

O caminho no sistema de arquivos para os arquivos que devem ser extraídos.

destinationDirectoryName
String

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

overwriteFiles
Boolean

true para substituir arquivos; caso contrário, false.

Exceções

sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém somente 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 tamanho máximo definido pelo sistema.

O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é 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 uma ZipArchiveEntry é uma cadeia de comprimento zero, contém somente espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.

- ou -

A extração de uma ZipArchiveEntry resulta em um destino de arquivo que está fora do diretório de destino (por exemplo, devido aos 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.

Os arquivos especificados por sourceArchiveFileName não são ZipArchive válidos.

- ou -

Uma ZipArchiveEntry não foi encontrada ou estava corrompida.

- ou -

Uma ZipArchiveEntry foi compactada usando um método de compactação sem 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 aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

ExtractToDirectory(Stream, String, Boolean)

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

Extrai todos os arquivos do arquivo zip armazenados 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, string destinationDirectoryName, bool overwriteFiles);

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 os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

overwriteFiles
Boolean

true para substituir arquivos; caso contrário, false.

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 especificado em destinationDirectoryName 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

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

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e .NET 8
Produto Versões
.NET 8, 9

ExtractToDirectory(String, String)

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

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

public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName);

Parâmetros

sourceArchiveFileName
String

O caminho para o arquivo morto a ser extraído.

destinationDirectoryName
String

O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado 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 somente espaços em branco ou, pelo menos, um caractere inválido.

destinationDirectoryName ou sourceArchiveFileName é null.

O caminho especificado no destinationDirectoryName ou sourceArchiveFileName excede o tamanho 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

Uma entrada de arquivo morto foi compactada usando um método de compactação sem 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 classe ZipFile, você deve fazer referência ao assembly System.IO.Compression.FileSystem 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);
    }
}

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName parâmetros ou sourceArchiveFileName 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ExtractToDirectory(Stream, String)

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, string destinationDirectoryName);

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 os arquivos extraídos serão colocados, especificado 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 especificado em destinationDirectoryName 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

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

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e .NET 8
Produto Versões
.NET 8, 9

ExtractToDirectory(Stream, String, Encoding)

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

Extrai todos os arquivos do arquivo zip armazenados 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.

public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);

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 os arquivos extraídos serão colocados, especificado 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 nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.

Exceções

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

- ou -

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

destinationDirectoryName ou source é null.

O caminho especificado em destinationDirectoryName 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 é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.

- ou -

A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá 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 foi corrompida.

- ou -

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

Comentários

Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos 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 por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da ú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á usada.

Aplica-se a

.NET 9 e .NET 8
Produto Versões
.NET 8, 9