Поделиться через


TarFile.ExtractToDirectoryAsync Метод

Определение

Перегрузки

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Асинхронно извлекает содержимое потока, представляющего архив tar, в указанный каталог.

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Асинхронно извлекает содержимое tar-файла в указанный каталог.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Исходный код:
TarFile.cs
Исходный код:
TarFile.cs
Исходный код:
TarFile.cs

Асинхронно извлекает содержимое потока, представляющего архив tar, в указанный каталог.

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

Параметры

source
Stream

Поток, содержащий архив TAR.

destinationDirectoryName
String

Путь к каталогу назначения, в который должны быть извлечены записи файловой системы.

overwriteFiles
Boolean

true значение для перезаписи файлов и каталогов в destinationDirectoryName, false чтобы избежать перезаписи, и выдает исключение при обнаружении файлов или каталогов с существующими именами.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены. Значение по умолчанию — None.

Возвращаемое значение

Задача, представляющая асинхронную операцию извлечения.

Исключения

Параметр source или destinationDirectoryName имеет значение null.

destinationDirectoryName Путь к каталогу не найден.

Недостаточно разрешений.

Извлечение одной из записей tar приведет к созданию файла за пределами указанного целевого каталога.

-или-

Параметр destinationDirectoryName пуст.

-или-

source не поддерживает чтение.

Произошло исключение ввода-вывода.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Файлы типа BlockDevice, CharacterDeviceили Fifo можно извлечь только на платформах Unix.

Для извлечения BlockDevice или CharacterDevice на диск требуется повышение прав.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые ExtractToDirectory(Stream, String, Boolean).

Применяется к

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Исходный код:
TarFile.cs
Исходный код:
TarFile.cs
Исходный код:
TarFile.cs

Асинхронно извлекает содержимое tar-файла в указанный каталог.

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

Параметры

sourceFileName
String

Путь к извлекаемом tar-файлу.

destinationDirectoryName
String

Путь к каталогу назначения, в который должны быть извлечены записи файловой системы.

overwriteFiles
Boolean

true значение для перезаписи файлов и каталогов в destinationDirectoryName, false чтобы избежать перезаписи, и выдает исключение при обнаружении файлов или каталогов с существующими именами.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены. Значение по умолчанию — None.

Возвращаемое значение

Задача, представляющая асинхронную операцию извлечения.

Исключения

Параметр sourceFileName или destinationDirectoryName имеет значение null.

destinationDirectoryName Путь к каталогу не найден.

Путь sourceFileName к файлу не найден.

Недостаточно разрешений.

Извлечение одной из записей tar приведет к созданию файла за пределами указанного целевого каталога.

-или-

Параметр sourceFileName или destinationDirectoryName является пустым.

Произошло исключение ввода-вывода.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Файлы типа BlockDevice, CharacterDeviceили Fifo можно извлечь только на платформах Unix.

Для извлечения BlockDevice или CharacterDevice на диск требуется повышение прав.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые ExtractToDirectory(String, String, Boolean).

Применяется к