Stream.CopyToAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés.
Surcharges
| Nom | Description |
|---|---|
| CopyToAsync(Stream, Int32, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon et d’un jeton d’annulation spécifiés. Les deux positions de flux sont avancées par le nombre d’octets copiés. |
| CopyToAsync(Stream, CancellationToken) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’un jeton d’annulation spécifié. Les deux positions de flux sont avancées par le nombre d’octets copiés. |
| CopyToAsync(Stream) |
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés. |
| CopyToAsync(Stream, Int32) |
Lit de façon asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés. |
CopyToAsync(Stream, Int32, CancellationToken)
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon et d’un jeton d’annulation spécifiés. Les deux positions de flux sont avancées par le nombre d’octets copiés.
public:
virtual System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
abstract member CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task
Paramètres
- destination
- Stream
Flux vers lequel le contenu du flux 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 à surveiller pour les demandes d’annulation. La valeur par défaut est None.
Retours
Tâche qui représente l’opération de copie asynchrone.
- Attributs
Exceptions
destination a la valeur null.
bufferSize est négatif ou zéro.
Le flux actuel ou le flux de destination est supprimé.
Le flux actuel ne prend pas en charge la lecture, ou le flux de destination ne prend pas en charge l’écriture.
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 principal. Cette considération en matière de performances est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une opération de flux de temps peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionne pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await Visual Basic et C#.
Si l’opération est annulée avant sa fin, la tâche retournée contient la Canceled valeur de la Status propriété.
La copie commence à la position actuelle dans le flux actuel.
Pour obtenir un exemple de copie entre deux flux, consultez la CopyToAsync(Stream) surcharge.
Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par CopyTo(Stream, Int32).
S’applique à
CopyToAsync(Stream, CancellationToken)
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’un jeton d’annulation spécifié. Les deux positions de flux sont avancées par le nombre d’octets copiés.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, System.Threading.CancellationToken cancellationToken);
member this.CopyToAsync : System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream, cancellationToken As CancellationToken) As Task
Paramètres
- destination
- Stream
Flux vers lequel le contenu du flux actuel sera copié.
- cancellationToken
- CancellationToken
Jeton à surveiller pour les demandes 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 principal. Cette considération en matière de performances est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une opération de flux de temps peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionne pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await Visual Basic et C#.
Si l’opération est annulée avant sa fin, la tâche retournée contient la Canceled valeur de la Status propriété.
La copie commence à la position actuelle dans le flux actuel.
Pour obtenir un exemple de copie entre deux flux, consultez la CopyToAsync(Stream) surcharge.
Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par CopyTo(Stream).
S’applique à
CopyToAsync(Stream)
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
Lit de manière asynchrone les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination);
member this.CopyToAsync : System.IO.Stream -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CopyToAsync : System.IO.Stream -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream) As Task
Paramètres
- destination
- Stream
Flux vers lequel le contenu du flux actuel sera copié.
Retours
Tâche qui représente l’opération de copie asynchrone.
- Attributs
Exceptions
destination a la valeur null.
Le flux actuel ou le flux de destination est supprimé.
Le flux actuel ne prend pas en charge la lecture, ou le flux de destination ne prend pas en charge l’écriture.
Exemples
L’exemple suivant montre comment utiliser deux FileStream objets pour copier de manière asynchrone les fichiers d’un répertoire vers un autre. La FileStream classe dérive de la Stream classe. Notez que le Click gestionnaire d’événements du Button contrôle est marqué avec le async modificateur, car il appelle une méthode asynchrone
using System;
using System.Threading.Tasks;
using System.Windows;
using System.IO;
namespace WpfApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
string StartDirectory = @"c:\Users\exampleuser\start";
string EndDirectory = @"c:\Users\exampleuser\end";
foreach (string filename in Directory.EnumerateFiles(StartDirectory))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf('\\'))))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
}
}
}
Imports System.IO
Class MainWindow
Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim StartDirectory As String = "c:\Users\exampleuser\start"
Dim EndDirectory As String = "c:\Users\exampleuser\end"
For Each filename As String In Directory.EnumerateFiles(StartDirectory)
Using SourceStream As FileStream = File.Open(filename, FileMode.Open)
Using DestinationStream As FileStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf("\"c)))
Await SourceStream.CopyToAsync(DestinationStream)
End Using
End Using
Next
End Sub
End Class
Remarques
La CopyToAsync méthode vous permet d’effectuer des opérations d’E/S gourmandes en ressources sans bloquer le thread principal. Cette considération en matière de performances est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une opération de flux de temps peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionne pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await Visual Basic et C#.
La copie commence à la position actuelle dans le flux actuel.
Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par CopyTo(Stream).
S’applique à
CopyToAsync(Stream, Int32)
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
- Source:
- Stream.cs
Lit de façon asynchrone les octets du flux actuel et les écrit dans un autre flux à l’aide d’une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize);
member this.CopyToAsync : System.IO.Stream * int -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CopyToAsync : System.IO.Stream * int -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream, bufferSize As Integer) As Task
Paramètres
- destination
- Stream
Flux vers lequel le contenu du flux 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.
Retours
Tâche qui représente l’opération de copie asynchrone.
- Attributs
Exceptions
destination a la valeur null.
bufferSize est négatif ou zéro.
Le flux actuel ou le flux de destination est supprimé.
Le flux actuel ne prend pas en charge la lecture, ou le flux de destination ne prend pas en charge l’écriture.
Remarques
La CopyToAsync méthode vous permet d’effectuer des opérations d’E/S gourmandes en ressources sans bloquer le thread principal. Cette considération en matière de performances est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une opération de flux de temps peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionne pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await Visual Basic et C#.
La copie commence à la position actuelle dans le flux actuel.
Pour obtenir un exemple de copie entre deux flux, consultez la CopyToAsync(Stream) surcharge.
Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par CopyTo(Stream, Int32).