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.
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros.
Sobrecargas
| Nome | Descrição |
|---|---|
| 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 já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas. 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(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, CancellationToken) |
Extrai assíncronamente todos os ficheiros do arquivo especificado para um diretório no sistema de ficheiros. |
| ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken) | |
| 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, ZipExtractionOptions, CancellationToken) | |
| 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(String, String, 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(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, 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 já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
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 já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
Aplica-se a
ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceArchiveFileName
- String
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- options
- ZipExtractionOptions
- cancellationToken
- CancellationToken
Devoluções
Observações
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
Cada ficheiro extraído tem o mesmo caminho relativo a destinationDirectoryName que a sua entrada de origem tem até à raiz do arquivo.
Os sourceArchiveFileName parâmetros e destinationDirectoryName aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído.
Definir OverwriteFiles para true sobrescrever ficheiros existentes. O padrão é false, o que faz com que a extração lance um IOException se já existe um ficheiro a extrair.
Use Password para fornecer a palavra-passe para entradas encriptadas.
Use EntryNameEncoding para especificar a codificação dos nomes das entradas e comentários ao abrir o arquivo. Para detalhes sobre como esta codificação é utilizada, veja ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding).
Os links simbólicos no arquivo não são recriados como links simbólicos. Se destinationDirectoryName ou qualquer um dos seus diretórios-pai for uma junção ou ligação simbólica pré-existente, a ligação é seguida e a extração escreve na pasta de destino final.
Exceções que ocorrem durante a extração assíncrona são armazenadas na tarefa devolvida e lançadas quando a tarefa é aguardada.
Aplica-se a
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
Aplica-se a
ExtractToDirectoryAsync(Stream, String, ZipExtractionOptions, CancellationToken)
- Origem:
- ZipFile.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- source
- Stream
- destinationDirectoryName
- String
O caminho para o diretório onde colocar os ficheiros extraídos. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- options
- ZipExtractionOptions
- cancellationToken
- CancellationToken
Devoluções
Observações
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
Cada ficheiro extraído tem o mesmo caminho relativo a destinationDirectoryName que a sua entrada de origem tem até à raiz do arquivo.
O destinationDirectoryName parâmetro aceita caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Se ocorrer um erro durante a extração, o arquivo permanece parcialmente extraído.
Definir OverwriteFiles para true sobrescrever ficheiros existentes. O padrão é false, o que faz com que a extração lance um IOException se já existe um ficheiro a extrair.
Use Password para fornecer a palavra-passe para entradas encriptadas.
Use EntryNameEncoding para especificar a codificação dos nomes das entradas e comentários ao abrir o arquivo. Para detalhes sobre como esta codificação é utilizada, veja ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding).
Os links simbólicos no arquivo não são recriados como links simbólicos. Se destinationDirectoryName ou qualquer um dos seus diretórios-pai for uma junção ou ligação simbólica pré-existente, a ligação é seguida e a extração escreve na pasta de destino final.
O source riacho fica aberto após a extração.
Exceções que ocorrem durante a extração assíncrona são armazenadas na tarefa devolvida e lançadas quando a tarefa é aguardada.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.
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. O diretório já pode existir. Os diretórios em falta são criados conforme necessário ao extrair entradas.
- 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
Warning
Este método não deve ser usado para extrair arquivos não confiáveis. Não aplica quaisquer limites de tamanho, de número de entradas ou outras políticas necessárias para a extração segura de arquivos não confiáveis. Para mais informações sobre como extrair arquivos de fontes não confiáveis em segurança, consulte Melhores práticas para utilização de arquivos zip e tar.
O diretório especificado por destinationDirectoryName pode já existir. Este método cria o diretório de destino, os diretórios pais em falta e subdiretórios conforme necessário ao extrair entradas. Se o arquivo estiver vazio, este método não cria o diretório de destino.
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.