ZipFile.ExtractToDirectoryAsync Método
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.
Sobrecargas
| Name | Description |
|---|---|
| ExtractToDirectoryAsync(String, String, Boolean, CancellationToken) |
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros. |
| 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(String, String, CancellationToken) |
Extrai assíncronamente todos os ficheiros do arquivo 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, 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, Encoding, CancellationToken) |
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório 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(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, Boolean, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo no sistema de ficheiros que deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- overwriteFiles
- Boolean
true sobrescrever ficheiros; false caso contrário.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém apenas espaços 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, nome de ficheiro, ou ambos que excedam o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S.
-ou-
O nome de uma entrada de arquivo é de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
-ou-
Extrair uma entrada de arquivo resultaria num destino de ficheiro fora do diretório de destino (por exemplo, devido aos acessórios de diretório pai).
-ou-
Uma entrada de arquivo tem o mesmo nome que uma entrada já extraída do mesmo arquivo.
O interlocutor não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está num formato inválido.
sourceArchiveFileName não foi encontrado.
sourceArchiveFileName não é um ZipArchive válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
O diretório especificado não pode existir. Este método cria todos os subdiretórios e o diretório especificado.
Se houver um erro durante a extração do arquivo, este permanece parcialmente extraído. Cada entrada é extraída de modo que o ficheiro extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo. O caminho aceita informação relativa ou absoluta do caminho; os caminhos relativos são interpretados como relativos ao diretório de trabalho atual.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(Stream, String, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
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.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
destinationDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter 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, está num disco não mapeado).
O nome de uma entrada no arquivo é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
Extrair uma entrada de arquivo criaria um ficheiro fora do diretório especificado por destinationDirectoryName. (Por exemplo, isto pode acontecer se o nome da entrada contiver acessórios de diretório pai.)
-ou-
Uma entrada de arquivo a extrair tem o mesmo nome que uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para aceder ao arquivo ou ao diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo contido no source stream não é um arquivo zip válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
Este 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 com a validação dos caminhos no destinationDirectoryName ou dos ficheiros no arquivo zip contidos nos source parâmetros são lançadas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído. Cada ficheiro extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName que a sua entrada de origem tem para a raiz do arquivo.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(String, String, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo no sistema de ficheiros que deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém apenas espaços 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, nome de ficheiro, ou ambos que excedam o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S.
-ou-
O nome de uma entrada de arquivo é de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
-ou-
Extrair uma entrada de arquivo resultaria num destino de ficheiro fora do diretório de destino (por exemplo, devido aos acessórios de diretório pai).
-ou-
Uma entrada de arquivo tem o mesmo nome que uma entrada já extraída do mesmo arquivo.
O interlocutor não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está num formato inválido.
sourceArchiveFileName não foi encontrado.
O arquivo especificado por sourceArchiveFileName não é um ZipArchive válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
O diretório especificado não pode existir. Este método cria todos os subdiretórios e o diretório especificado.
Se houver um erro durante a extração do arquivo, este permanece parcialmente extraído. Cada entrada é extraída de modo que o ficheiro extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo. O caminho aceita informação relativa ou absoluta do caminho; os caminhos relativos são interpretados como relativos ao diretório de trabalho atual.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
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.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- overwriteFiles
- Boolean
true sobrescrever ficheiros; false caso contrário.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
destinationDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter 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, está num disco não mapeado).
O nome de uma entrada no arquivo é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
Extrair uma entrada de arquivo criaria um ficheiro fora do diretório especificado por destinationDirectoryName. (Por exemplo, isto pode acontecer se o nome da entrada contiver acessórios de diretório pai.)
-ou-
overwriteFiles é false e uma entrada de arquivo a extrair tem o mesmo nome que uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para aceder ao arquivo ou ao diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo contido no source stream não é um arquivo zip válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
Este 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 com a validação dos caminhos no destinationDirectoryName ou dos ficheiros no arquivo zip contidos nos source parâmetros são lançadas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído. Cada ficheiro extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName que a sua entrada de origem tem para a raiz do arquivo.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
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.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, 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 usar ao ler ou escrever nomes de entradas e comentários neste arquivo. Especifique um valor para este parâmetro apenas quando for necessária uma codificação para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não suportem codificação UTF-8 para nomes de entradas ou comentários.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
destinationDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
entryNameEncoding está definido para uma codificação Unicode diferente da 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, está num disco não mapeado).
O nome de uma entrada no arquivo é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
Extrair uma entrada de arquivo criaria um ficheiro fora do diretório especificado por destinationDirectoryName. (Por exemplo, isto pode acontecer se o nome da entrada contiver acessórios de diretório pai.)
-ou-
Uma entrada de arquivo a extrair tem o mesmo nome que uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para aceder ao arquivo ou ao diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo contido no source stream não é um arquivo zip válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
Este 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 com a validação dos caminhos no destinationDirectoryName ou dos ficheiros no arquivo zip contidos nos source parâmetros são lançadas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído. Cada ficheiro extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName que a sua entrada de origem tem para a raiz do arquivo.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo no sistema de ficheiros que deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no sistema de ficheiros. O diretório especificado não deve existir, mas o diretório em que está contido deve existir.
- entryNameEncoding
- Encoding
A codificação a usar ao ler ou escrever nomes de entradas e comentários neste ZipArchive.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém apenas espaços 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, nome de ficheiro, ou ambos que excedam o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S.
-ou-
O nome de uma entrada de arquivo é de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
-ou-
Extrair uma entrada de arquivo resultaria num destino de ficheiro fora do diretório de destino (por exemplo, devido aos acessórios de diretório pai).
-ou-
Uma entrada de arquivo tem o mesmo nome que uma entrada já extraída do mesmo arquivo.
O interlocutor não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está num formato inválido.
sourceArchiveFileName não foi encontrado.
O arquivo especificado por sourceArchiveFileName não é um ZipArchive válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
O diretório especificado não pode existir. Este método cria todos os subdiretórios e o diretório especificado.
Se houver um erro durante a extração do arquivo, este permanece parcialmente extraído. Cada entrada é extraída de modo que o ficheiro extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo. O caminho aceita informação relativa ou absoluta do caminho; os caminhos relativos são interpretados como relativos ao diretório de trabalho atual.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Se entryNameEncoding for definido para um valor diferente de null, os nomes das entradas e os comentários são decodificados de acordo com as seguintes regras:
- Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro não está definido, use o especificado
entryNameEncodingpara decodificar o nome da entrada e o comentário. - Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro está definido, use UTF-8 (
Encoding.UTF8) para decodificar o nome da entrada e o comentário.
Se entryNameEncoding for definido para null, os nomes das entradas e os comentários são decodificados de acordo com as seguintes regras:
- Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro não está definido, use a página de código padrão do sistema atual (
Encoding.Default) para decodificar o nome da entrada e o comentário. - Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro está definido, use UTF-8 (
Encoding.UTF8) para decodificar o nome da entrada e o comentário.
Codificações Unicode que não sejam UTF-8 não podem ser usadas para entryNameEncoding, caso contrário um ArgumentException é lançado.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)
- Origem:
- ZipFile.Create.cs
- Origem:
- ZipFile.Extract.Async.cs
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.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, 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 usar ao ler ou escrever nomes de entradas e comentários neste arquivo. Especifique um valor para este parâmetro apenas quando for necessária uma codificação para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não suportem codificação UTF-8 para nomes de entradas ou comentários.
- overwriteFiles
- Boolean
true sobrescrever ficheiros; false caso contrário.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
destinationDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
entryNameEncoding está definido para uma codificação Unicode diferente da 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, está num disco não mapeado).
O nome de uma entrada no arquivo é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
Extrair uma entrada de arquivo criaria um ficheiro fora do diretório especificado por destinationDirectoryName. (Por exemplo, isto pode acontecer se o nome da entrada contiver acessórios de diretório pai.)
-ou-
overwriteFiles é false e uma entrada de arquivo a extrair tem o mesmo nome que uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para aceder ao arquivo ou ao diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo contido no source stream não é um arquivo zip válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
Este 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 com a validação dos caminhos no destinationDirectoryName ou dos ficheiros no arquivo zip contidos nos source parâmetros são lançadas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído. Cada ficheiro extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName que a sua entrada de origem tem para a raiz do arquivo.
Se um ficheiro a ser arquivado tiver uma última hora modificada inválida, a primeira data e hora representáveis no formato de carimbo postal (meia-noite de 1 de janeiro de 1980) serão usadas.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.
Aplica-se a
ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
- Origem:
- ZipFile.Extract.Async.cs
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).
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo no sistema de ficheiros que deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos, 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 usar ao ler ou escrever nomes de entradas e comentários neste ZipArchive.
- overwriteFiles
- Boolean
true sobrescrever ficheiros; false caso contrário.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém apenas espaços 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, nome de ficheiro, ou ambos que excedam o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S.
-ou-
O nome de uma entrada de arquivo é de comprimento zero, contém apenas espaços em branco ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
-ou-
Extrair uma entrada de arquivo resultaria num destino de ficheiro fora do diretório de destino (por exemplo, devido aos acessórios de diretório pai).
-ou-
Uma entrada de arquivo tem o mesmo nome que uma entrada já extraída do mesmo arquivo.
O interlocutor não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está num formato inválido.
sourceArchiveFileName não foi encontrado.
O arquivo especificado por sourceArchiveFileName não é um ZipArchive válido.
-ou-
Nenhuma entrada de arquivo foi encontrada ou estava corrompida.
-ou-
Uma entrada de arquivo foi comprimida usando um método de compressão que não é suportado.
Uma operação assíncrona é cancelada.
Observações
Se entryNameEncoding for definido para um valor diferente de null, os nomes das entradas e os comentários são decodificados de acordo com as seguintes regras:
- Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro não está definido, use o especificado
entryNameEncodingpara decodificar o nome da entrada e o comentário. - Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro está definido, use UTF-8 (
Encoding.UTF8) para decodificar o nome da entrada e o comentário.
Se entryNameEncoding for definido para null, os nomes das entradas e os comentários são decodificados de acordo com as seguintes regras:
- Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro não está definido, use a página de código padrão do sistema atual (
Encoding.Default) para decodificar o nome da entrada e o comentário. - Para entradas onde o flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro está definido, use UTF-8 (
Encoding.UTF8) para decodificar o nome da entrada e o comentário.
Codificações Unicode que não sejam UTF-8 não podem ser usadas para entryNameEncoding, caso contrário um ArgumentException é lançado.
Warning
Este método não limita o tamanho total não comprimido nem o número de entradas extraídas do arquivo. Ao processar arquivos de fontes não confiáveis, itere manualmente sobre as entradas usando ZipArchive, e valide que o tamanho total não comprimido e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.