語言

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

緩衝區的大小(以位元組為單位)。 此值必須大於零。

cancellationToken
CancellationToken

用來監控取消申請的代幣。 預設值為 None。

傳回

一個代表非同步複製操作的任務。

例外狀況

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

此 CopyToAsync 方法能讓你執行資源密集型的 I/O 操作,而不阻塞主執行緒。 在 Windows 8.x 市集應用程式或傳統型應用程式中,此效能考慮特別重要,其中耗時的串流作業可能會封鎖 UI 線程,並讓應用程式看起來好像無法運作。 非同步方法與 async 和 await 關鍵字搭配使用 Visual Basic 和 C# 中。

若操作在完成前被取消,回傳的任務會包含 TaskStatus.Canceled 該 Task.Status 屬性的值。

複製從當前檔案串流的當前位置開始。

關於兩條串流間複製的範例,請參見過載。CopyToAsync(Stream)

適用於