Freigeben über


FileStream.CopyToAsync(Stream, Int32, CancellationToken) Methode

Definition

Liest die Bytes asynchron aus dem aktuellen Dateidatenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße und eines Abbruchtokens in einen anderen Datenstrom.

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

Parameter

destination
Stream

Der Stream, in den der Inhalt des aktuellen Dateidatenstroms kopiert wird.

bufferSize
Int32

Die Größe des Cookies in Bytes. Dieser Wert muss größer als 0 sein. Die Standardgröße ist 81920.

cancellationToken
CancellationToken

Das Token zum Überwachen von Abbruchanforderungen. Der Standardwert ist None.

Gibt zurück

Eine Aufgabe, die den asynchronen Kopiervorgang darstellt.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Mit CopyToAsync der -Methode können Sie ressourcenintensive E/A-Vorgänge ausführen, ohne den Standard Thread zu blockieren. Diese Überlegungen zur Leistung sind insbesondere in einer Windows 8.x Store-App oder Desktop-App wichtig, bei der ein zeitaufwendiger Streamingvorgang den UI-Thread blockieren kann und es dann den Anschein hat, dass Ihre App nicht funktioniert. Die asynchronen Methoden werden in Verbindung mit den async Schlüsselwörtern und await in Visual Basic und C# verwendet.

Wenn der Vorgang vor Abschluss abgebrochen wird, enthält die zurückgegebene Aufgabe den TaskStatus.Canceled Wert für die Task.Status Eigenschaft.

Das Kopieren beginnt an der aktuellen Position im aktuellen Dateidatenstrom.

Ein Beispiel für das Kopieren zwischen zwei Streams finden Sie in der CopyToAsync(Stream) Überladung.

Gilt für: