TarFile.ExtractToDirectoryAsync Metoda

Definice

Přetížení

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs

Asynchronně extrahuje obsah souboru tar do zadaného adresáře.

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

Parametry

sourceFileName
String

Cesta k souboru tar, který se má extrahovat.

destinationDirectoryName
String

Cesta cílového adresáře, do kterého se mají extrahovat položky systému souborů.

overwriteFiles
Boolean

truepřepsání souborů a adresářůdestinationDirectoryNamefalse, aby se zabránilo přepsání a vyvolání, pokud jsou nalezeny nějaké soubory nebo adresáře s existujícími názvy.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

Úloha, která představuje asynchronní operaci extrakce.

Výjimky

sourceFileName nebo destinationDirectoryName je null.

Cesta destinationDirectoryName k adresáři nebyla nalezena.

Cesta sourceFileName k souboru nebyla nalezena.

Oprávnění nejsou dostatečná.

Extrahování jedné z položek tar by vedlo k vytvoření souboru mimo zadaný cílový adresář.

nebo

sourceFileName nebo destinationDirectoryName je prázdný.

.NET pouze verze 11 a novější: Kontrolní součet položky je neplatný.

Došlo k výjimce vstupně-výstupních operací.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Pokud symbolické propojení nebo spojení v archivu tar vede k extrahování souboru mimo zadané destinationDirectoryName, IOException je vyvolána, aby extrakce zůstala ve stejném adresáři.

Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

Soubory typu BlockDevice, CharacterDevicenebo Fifo lze extrahovat pouze v unixových platformách.

K extrahování BlockDevice nebo CharacterDevice na disk se vyžaduje zvýšení oprávnění.

Tato metoda neomezuje celkovou extrahovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí TarReadera ověřte, že velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané ExtractToDirectory(String, String, Boolean).

Platí pro

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs
Zdroj:
TarFile.cs

Asynchronně extrahuje obsah datového proudu, který představuje archiv tar do zadaného adresáře.

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

Parametry

source
Stream

Stream obsahující archiv tar.

destinationDirectoryName
String

Cesta cílového adresáře, do kterého se mají extrahovat položky systému souborů.

overwriteFiles
Boolean

truepřepsání souborů a adresářůdestinationDirectoryNamefalse, aby se zabránilo přepsání a vyvolání, pokud jsou nalezeny nějaké soubory nebo adresáře s existujícími názvy.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

Úloha, která představuje asynchronní operaci extrakce.

Výjimky

source nebo destinationDirectoryName je null.

Cesta destinationDirectoryName k adresáři nebyla nalezena.

Oprávnění nejsou dostatečná.

Extrahování jedné z položek tar by vedlo k vytvoření souboru mimo zadaný cílový adresář.

nebo

destinationDirectoryName je prázdný.

nebo

source nepodporuje čtení.

.NET pouze verze 11 a novější: Kontrolní součet položky je neplatný.

Došlo k výjimce vstupně-výstupních operací.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Pokud symbolické propojení nebo spojení v archivu tar vede k extrahování souboru mimo zadané destinationDirectoryName, IOException je vyvolána, aby extrakce zůstala ve stejném adresáři.

Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

Soubory typu BlockDevice, CharacterDevicenebo Fifo lze extrahovat pouze v unixových platformách.

K extrahování BlockDevice nebo CharacterDevice na disk se vyžaduje zvýšení oprávnění.

Tato metoda neomezuje celkovou extrahovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí TarReadera ověřte, že velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané ExtractToDirectory(Stream, String, Boolean).

Platí pro

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)

Zdroj:
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

Parametry

source
Stream
destinationDirectoryName
String
cancellationToken
CancellationToken

Návraty

Platí pro

ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

Zdroj:
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

Parametry

sourceFileName
String
destinationDirectoryName
String
cancellationToken
CancellationToken

Návraty

Platí pro