TarFile.ExtractToDirectoryAsync Metoda

Definicja

Przeciążenia

Nazwa Opis
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Asynchronicznie wyodrębnia zawartość pliku tar do określonego katalogu.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Asynchronicznie wyodrębnia zawartość strumienia reprezentującego archiwum tar do określonego katalogu.

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

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs

Asynchronicznie wyodrębnia zawartość pliku tar do określonego katalogu.

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

Ścieżka pliku tar do wyodrębnienia.

destinationDirectoryName
String

Ścieżka katalogu docelowego, w którym powinny zostać wyodrębnione wpisy systemu plików.

overwriteFiles
Boolean

true aby zastąpić pliki i katalogi w programie destinationDirectoryName; false aby uniknąć zastępowania, i zgłaszać, czy istnieją pliki lub katalogi z istniejącymi nazwami.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Domyślna wartość to None.

Zwraca

Zadanie reprezentujące operację wyodrębniania asynchronicznego.

Wyjątki

sourceFileName lub destinationDirectoryName ma wartość null.

Nie destinationDirectoryName można odnaleźć ścieżki katalogu.

Nie sourceFileName można odnaleźć ścieżki pliku.

Uprawnienia są niewystarczające.

Wyodrębnienie jednego z wpisów tar spowodowałoby utworzenie pliku spoza określonego katalogu docelowego.

— lub —

sourceFileName lub destinationDirectoryName jest pusty.

.NET tylko 11 i nowszych wersji: suma kontrolna wpisu jest nieprawidłowa.

Wystąpił wyjątek we/wy.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Jeśli łącze symboliczne lub połączenie w archiwum tar powoduje wyodrębnienie pliku poza określonym destinationDirectoryNameelementem , zwracany IOException jest wyjątek w celu zapewnienia, że wyodrębnianie pozostanie w tym samym katalogu.

Jeśli destinationDirectoryName lub którykolwiek z katalogów nadrzędnych jest wstępnie istniejącym połączeniem lub łączem symbolicznym, następuje łącze, a wyodrębnianie zapisuje w ostatnim folderze docelowym.

Pliki typu BlockDevice, CharacterDevicelub Fifo mogą być wyodrębniane tylko na platformach Unix.

Podniesienie uprawnień jest wymagane do wyodrębnienia BlockDevice dysku lub CharacterDevice .

Ta metoda nie ogranicza całkowitego wyodrębnionego rozmiaru ani liczby wpisów wyodrębnionych z archiwum. Podczas przetwarzania archiwów z niezaufanych źródeł iteruj wpisy ręcznie przy użyciu metody TarReaderi sprawdź, czy rozmiar i liczba wpisów znajdują się w dopuszczalnych limitach dla danego scenariusza.

Ta metoda przechowuje w zadaniu zwraca wszystkie wyjątki inne niż użycie, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony, gdy zadanie będzie oczekiwać. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez program ExtractToDirectory(String, String, Boolean).

Dotyczy

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs
Źródło:
TarFile.cs

Asynchronicznie wyodrębnia zawartość strumienia reprezentującego archiwum tar do określonego katalogu.

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

Strumień zawierający archiwum tar.

destinationDirectoryName
String

Ścieżka katalogu docelowego, w którym powinny zostać wyodrębnione wpisy systemu plików.

overwriteFiles
Boolean

true aby zastąpić pliki i katalogi w programie destinationDirectoryName; false aby uniknąć zastępowania, i zgłaszać, czy istnieją pliki lub katalogi z istniejącymi nazwami.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Domyślna wartość to None.

Zwraca

Zadanie reprezentujące operację wyodrębniania asynchronicznego.

Wyjątki

source lub destinationDirectoryName ma wartość null.

Nie destinationDirectoryName można odnaleźć ścieżki katalogu.

Uprawnienia są niewystarczające.

Wyodrębnienie jednego z wpisów tar spowodowałoby utworzenie pliku spoza określonego katalogu docelowego.

— lub —

destinationDirectoryName jest pusta.

— lub —

source nie obsługuje odczytywania.

.NET tylko 11 i nowszych wersji: suma kontrolna wpisu jest nieprawidłowa.

Wystąpił wyjątek we/wy.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Jeśli łącze symboliczne lub połączenie w archiwum tar powoduje wyodrębnienie pliku poza określonym destinationDirectoryNameelementem , zwracany IOException jest wyjątek w celu zapewnienia, że wyodrębnianie pozostanie w tym samym katalogu.

Jeśli destinationDirectoryName lub którykolwiek z katalogów nadrzędnych jest wstępnie istniejącym połączeniem lub łączem symbolicznym, następuje łącze, a wyodrębnianie zapisuje w ostatnim folderze docelowym.

Pliki typu BlockDevice, CharacterDevicelub Fifo mogą być wyodrębniane tylko na platformach Unix.

Podniesienie uprawnień jest wymagane do wyodrębnienia BlockDevice dysku lub CharacterDevice .

Ta metoda nie ogranicza całkowitego wyodrębnionego rozmiaru ani liczby wpisów wyodrębnionych z archiwum. Podczas przetwarzania archiwów z niezaufanych źródeł iteruj wpisy ręcznie przy użyciu metody TarReaderi sprawdź, czy rozmiar i liczba wpisów znajdują się w dopuszczalnych limitach dla danego scenariusza.

Ta metoda przechowuje w zadaniu zwraca wszystkie wyjątki inne niż użycie, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony, gdy zadanie będzie oczekiwać. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez program ExtractToDirectory(Stream, String, Boolean).

Dotyczy

ExtractToDirectoryAsync(Stream, String, TarExtractOptions, CancellationToken)

Źródło:
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

Zwraca

Dotyczy

ExtractToDirectoryAsync(String, String, TarExtractOptions, CancellationToken)

Źródło:
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

Zwraca

Dotyczy