TarFile.ExtractToDirectoryAsync Método

Definição

Sobrecargas

Name Descrição
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Extrai assíncronamente o conteúdo de um ficheiro tar para o diretório especificado.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

De forma assíncrona, extrai o conteúdo de um fluxo que representa um arquivo tar para o diretório especificado.

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)
ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs

Extrai assíncronamente o conteúdo de um ficheiro tar para o diretório especificado.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceFileName, 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 (sourceFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parâmetros

sourceFileName
String

O caminho da lima de alcatrão a extrair.

destinationDirectoryName
String

O caminho do diretório de destino onde as entradas do sistema de ficheiros devem ser extraídas.

overwriteFiles
Boolean

true sobrescrever ficheiros e diretórios em destinationDirectoryName; false para evitar sobrescrever, e lançar se forem encontrados ficheiros ou diretórios com nomes existentes.

cancellationToken
CancellationToken

O token para monitorizar pedidos de cancelamento. O valor predefinido é None.

Devoluções

Uma tarefa que representa a operação de extração assíncrona.

Exceções

sourceFileName ou destinationDirectoryName é null.

O destinationDirectoryName caminho do diretório não é encontrado.

O sourceFileName caminho do ficheiro não é encontrado.

As permissões são insuficientes.

Extrair uma das entradas tar teria resultado num ficheiro fora do diretório de destino especificado.

-ou-

sourceFileName ou destinationDirectoryName está vazio.

.NET 11 e versões posteriores apenas: A soma de verificação de uma entrada é inválida.

Ocorreu uma exceção de I/O.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Se um link simbólico ou junção no arquivo tar resultar na extração de um ficheiro fora do especificado destinationDirectoryName, um IOException é lançado para garantir que a extração permanece dentro do mesmo diretório.

Se destinationDirectoryName ou qualquer um dos seus diretórios-pais 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.

Ficheiros do tipo BlockDevice, CharacterDevice, ou Fifo só podem ser extraídos em plataformas Unix.

É necessária elevação para extrair um BlockDevice ou CharacterDevice para o disco.

Este método não limita o tamanho total extraído 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 TarReader, e valide que o tamanho e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por ExtractToDirectory(String, String, Boolean).

Aplica-se a

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs
Origem:
TarFile.cs

De forma assíncrona, extrai o conteúdo de um fluxo que representa um arquivo tar para o diretório especificado.

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 riacho que contém o arquivo de alcatrão.

destinationDirectoryName
String

O caminho do diretório de destino onde as entradas do sistema de ficheiros devem ser extraídas.

overwriteFiles
Boolean

true sobrescrever ficheiros e diretórios em destinationDirectoryName; false para evitar sobrescrever, e lançar se forem encontrados ficheiros ou diretórios com nomes existentes.

cancellationToken
CancellationToken

O token para monitorizar pedidos de cancelamento. O valor predefinido é None.

Devoluções

Uma tarefa que representa a operação de extração assíncrona.

Exceções

source ou destinationDirectoryName é null.

O destinationDirectoryName caminho do diretório não é encontrado.

As permissões são insuficientes.

Extrair uma das entradas tar teria resultado num ficheiro fora do diretório de destino especificado.

-ou-

destinationDirectoryName está vazio.

-ou-

source não suporta a leitura.

.NET 11 e versões posteriores apenas: A soma de verificação de uma entrada é inválida.

Ocorreu uma exceção de I/O.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Se um link simbólico ou junção no arquivo tar resultar na extração de um ficheiro fora do especificado destinationDirectoryName, um IOException é lançado para garantir que a extração permanece dentro do mesmo diretório.

Se destinationDirectoryName ou qualquer um dos seus diretórios-pais 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.

Ficheiros do tipo BlockDevice, CharacterDevice, ou Fifo só podem ser extraídos em plataformas Unix.

É necessária elevação para extrair um BlockDevice ou CharacterDevice para o disco.

Este método não limita o tamanho total extraído 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 TarReader, e valide que o tamanho e o número de entradas estão dentro dos limites aceitáveis para o seu cenário.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por ExtractToDirectory(Stream, String, Boolean).

Aplica-se a

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)

Origem:
TarFile.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Formats.Tar.TarExtractOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, options As TarExtractOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

Parâmetros

source
Stream
destinationDirectoryName
String
cancellationToken
CancellationToken

Devoluções

Aplica-se a

ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

Origem:
TarFile.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Formats.Tar.TarExtractOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceFileName As String, destinationDirectoryName As String, options As TarExtractOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

Parâmetros

sourceFileName
String
destinationDirectoryName
String
cancellationToken
CancellationToken

Devoluções

Aplica-se a