FileStream.CopyToAsync(Stream, Int32, CancellationToken) Méthode

Définition

Lit de façon asynchrone les octets du flux de fichier actuel et les écrit dans un autre flux, en utilisant une taille de mémoire tampon et un jeton d’annulation spécifiés.

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

Paramètres

destination
Stream

Flux vers lequel le contenu du flux de fichier actuel sera copié.

bufferSize
Int32

Taille en octets de la mémoire tampon. Cette valeur doit être supérieure à zéro. La taille par défaut est 81920.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est None.

Retours

Tâche qui représente l’opération de copie asynchrone.

Exceptions

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

La CopyToAsync méthode vous permet d’effectuer des opérations d’E/S gourmandes en ressources sans bloquer le thread main. Cette considération de performance est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une longue opération de flux peut bloquer le thread d'interface utilisateur et faire que l'application s'affiche comme si elle ne fonctionnait pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await dans Visual Basic et C#.

Si l’opération est annulée avant sa fin, la tâche retournée contient la TaskStatus.Canceled valeur de la Task.Status propriété .

La copie commence à la position actuelle dans le flux de fichier actif.

Pour obtenir un exemple de copie entre deux flux, consultez la CopyToAsync(Stream) surcharge.

S’applique à