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


FileStream.CopyToAsync(Stream, Int32, CancellationToken) Метод

Определение

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

public:
 override System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task

Параметры

destination
Stream

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

bufferSize
Int32

Размер (в байтах) буфера. Это значение должно быть больше нуля. Размер по умолчанию — 81920.

cancellationToken
CancellationToken

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

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

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

Исключения

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

Комментарии

Метод CopyToAsync позволяет выполнять ресурсоемкие операции ввода-вывода, не блокируя поток main. Это соображение, связанное с производительностью, особенно важно в приложениях Магазина Windows 8.x и классических приложениях, в которых длительная потоковая операция может блокировать поток пользовательского интерфейса и создавать впечатление, что приложение не работает. Асинхронные методы используются в сочетании с ключевыми словами async и await в Visual Basic и C#.

Если операция отменена до ее завершения, возвращаемая задача содержит TaskStatus.Canceled значение Task.Status свойства .

Копирование начинается с текущей позиции в текущем потоке файлов.

Пример копирования между двумя потоками см. в разделе Перегрузка CopyToAsync(Stream) .

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