TarFile.ExtractToDirectory Método

Definição

Sobrecargas

Name Descrição
ExtractToDirectory(Stream, String, Boolean)

Extrai o conteúdo de um fluxo que representa um arquivo tar para o diretório especificado.

ExtractToDirectory(Stream, String, TarExtractOptions)
ExtractToDirectory(String, String, Boolean)

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

ExtractToDirectory(String, String, TarExtractOptions)

ExtractToDirectory(Stream, String, Boolean)

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

Extrai o conteúdo de um fluxo que representa um arquivo tar para o diretório especificado.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

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.

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.

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.

Aplica-se a

ExtractToDirectory(Stream, String, TarExtractOptions)

Origem:
TarFile.cs
public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Formats::Tar::TarExtractOptions ^ options);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options);
static member ExtractToDirectory : System.IO.Stream * string * System.Formats.Tar.TarExtractOptions -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, options As TarExtractOptions)

Parâmetros

source
Stream
destinationDirectoryName
String

Aplica-se a

ExtractToDirectory(String, String, Boolean)

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

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

public:
 static void ExtractToDirectory(System::String ^ sourceFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

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.

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.

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.

Aplica-se a

ExtractToDirectory(String, String, TarExtractOptions)

Origem:
TarFile.cs
public:
 static void ExtractToDirectory(System::String ^ sourceFileName, System::String ^ destinationDirectoryName, System::Formats::Tar::TarExtractOptions ^ options);
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options);
static member ExtractToDirectory : string * string * System.Formats.Tar.TarExtractOptions -> unit
Public Shared Sub ExtractToDirectory (sourceFileName As String, destinationDirectoryName As String, options As TarExtractOptions)

Parâmetros

sourceFileName
String
destinationDirectoryName
String

Aplica-se a