Condividi tramite


TarFile.ExtractToDirectoryAsync Metodo

Definizione

Overload

Nome Descrizione
ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Estrae in modo asincrono il contenuto di un flusso che rappresenta un archivio tar nella directory specificata.

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Estrae in modo asincrono il contenuto di un file tar nella directory specificata.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs

Estrae in modo asincrono il contenuto di un flusso che rappresenta un archivio tar nella directory specificata.

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

Parametri

source
Stream

Flusso contenente l'archivio tar.

destinationDirectoryName
String

Percorso della directory di destinazione in cui devono essere estratte le voci del file system.

overwriteFiles
Boolean

true per sovrascrivere file e directory in destinationDirectoryName, false per evitare la sovrascrittura e generare se vengono trovati file o directory con nomi esistenti.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di estrazione asincrona.

Eccezioni

source o destinationDirectoryName è null.

Il percorso della destinationDirectoryName directory non viene trovato.

Le autorizzazioni non sono sufficienti.

L'estrazione di una delle voci tar avrebbe generato un file all'esterno della directory di destinazione specificata.

oppure

destinationDirectoryName è vuoto.

oppure

source non supporta la lettura.

Solo .NET 11 e versioni successive: il checksum di una voce non è valido.

Si è verificata un'eccezione di I/O.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Se un collegamento simbolico o una giunzione nell'archivio tar comporta l'estrazione di un file all'esterno dell'oggetto specificato destinationDirectoryName, viene generata un'eccezione IOException per garantire che l'estrazione rimanga all'interno della stessa directory.

Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

I file di tipo BlockDevice, CharacterDeviceo Fifo possono essere estratti solo nelle piattaforme Unix.

L'elevazione dei privilegi è necessaria per estrarre un BlockDevice oggetto o CharacterDevice su disco.

Questo metodo non limita le dimensioni totali estratte o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire l'iterazione delle voci manualmente usando TarReadere verificare che le dimensioni e il numero di voci siano entro limiti accettabili per lo scenario.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da ExtractToDirectory(Stream, String, Boolean).

Si applica a

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs
Origine:
TarFile.cs

Estrae in modo asincrono il contenuto di un file tar nella directory specificata.

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

Parametri

sourceFileName
String

Percorso del file tar da estrarre.

destinationDirectoryName
String

Percorso della directory di destinazione in cui devono essere estratte le voci del file system.

overwriteFiles
Boolean

true per sovrascrivere file e directory in destinationDirectoryName, false per evitare la sovrascrittura e generare se vengono trovati file o directory con nomi esistenti.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di estrazione asincrona.

Eccezioni

sourceFileName o destinationDirectoryName è null.

Il percorso della destinationDirectoryName directory non viene trovato.

Il percorso del sourceFileName file non viene trovato.

Le autorizzazioni non sono sufficienti.

L'estrazione di una delle voci tar avrebbe generato un file all'esterno della directory di destinazione specificata.

oppure

sourceFileName o destinationDirectoryName è vuoto.

Solo .NET 11 e versioni successive: il checksum di una voce non è valido.

Si è verificata un'eccezione di I/O.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Se un collegamento simbolico o una giunzione nell'archivio tar comporta l'estrazione di un file all'esterno dell'oggetto specificato destinationDirectoryName, viene generata un'eccezione IOException per garantire che l'estrazione rimanga all'interno della stessa directory.

Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

I file di tipo BlockDevice, CharacterDeviceo Fifo possono essere estratti solo nelle piattaforme Unix.

L'elevazione dei privilegi è necessaria per estrarre un BlockDevice oggetto o CharacterDevice su disco.

Questo metodo non limita le dimensioni totali estratte o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire l'iterazione delle voci manualmente usando TarReadere verificare che le dimensioni e il numero di voci siano entro limiti accettabili per lo scenario.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da ExtractToDirectory(String, String, Boolean).

Si applica a