Partilhar via


TarFile.ExtractToDirectoryAsync Método

Definição

Sobrecargas

Nome Description
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Extrai de forma assíncrona o conteúdo de um arquivo tar no diretório especificado.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Extrai de forma assíncrona o conteúdo de um fluxo que representa um arquivo tar no 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 de forma assíncrona o conteúdo de um arquivo tar no 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 do arquivo tar a ser extraído.

destinationDirectoryName
String

O caminho do diretório de destino em que as entradas do sistema de arquivos devem ser extraídas.

overwriteFiles
Boolean

true para substituir arquivos e diretórios em destinationDirectoryName; false para evitar substituição e gerar se quaisquer arquivos ou diretórios forem encontrados com nomes existentes.

cancellationToken
CancellationToken

O token a ser monitorado para solicitações de cancelamento. O valor padrão é None.

Retornos

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 foi encontrado.

O sourceFileName caminho do arquivo não foi encontrado.

As permissões são insuficientes.

Extrair uma das entradas tar resultaria em um arquivo fora do diretório de destino especificado.

- ou -

sourceFileName ou destinationDirectoryName está vazio.

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

Ocorreu uma exceção de E/S.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Se um link simbólico ou junção no arquivo tar resultar em um arquivo sendo extraído fora do especificado destinationDirectoryName, um IOException será gerado para garantir que a extração permaneça dentro do mesmo diretório.

Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Arquivos do tipo BlockDevice, CharacterDeviceou Fifo só podem ser extraídos em plataformas Unix.

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

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

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas 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

Extrai de forma assíncrona o conteúdo de um fluxo que representa um arquivo tar no 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 fluxo que contém o arquivo tar.

destinationDirectoryName
String

O caminho do diretório de destino em que as entradas do sistema de arquivos devem ser extraídas.

overwriteFiles
Boolean

true para substituir arquivos e diretórios em destinationDirectoryName; false para evitar substituição e gerar se quaisquer arquivos ou diretórios forem encontrados com nomes existentes.

cancellationToken
CancellationToken

O token a ser monitorado para solicitações de cancelamento. O valor padrão é None.

Retornos

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 foi encontrado.

As permissões são insuficientes.

Extrair uma das entradas tar resultaria em um arquivo fora do diretório de destino especificado.

- ou -

destinationDirectoryName está vazio.

- ou -

source não dá suporte à leitura.

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

Ocorreu uma exceção de E/S.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Se um link simbólico ou junção no arquivo tar resultar em um arquivo sendo extraído fora do especificado destinationDirectoryName, um IOException será gerado para garantir que a extração permaneça dentro do mesmo diretório.

Se destinationDirectoryName ou qualquer um de seus diretórios pai for uma junção pré-existente ou um link simbólico, o link será seguido e a extração será gravada na pasta de destino final.

Arquivos do tipo BlockDevice, CharacterDeviceou Fifo só podem ser extraídos em plataformas Unix.

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

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

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas 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

Retornos

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

Retornos

Aplica-se a