Stream.WriteAsync Méthode

Définition

Écrit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits.

Surcharges

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

WriteAsync(Byte[], Int32, Int32)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

public virtual System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
abstract member WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overridable Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Paramètres

buffer
ReadOnlyMemory<Byte>

Région de la mémoire dont sont issues les données à écrire.

cancellationToken
CancellationToken

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

Retours

ValueTask

Tâche qui représente l’opération d’écriture asynchrone.

Remarques

La WriteAsync méthode vous permet d’effectuer des opérations d’e/s gourmandes en ressources sans bloquer le thread principal. cette considération de performance est particulièrement importante dans une application de bureau ou une application de bureau Windows 8. x dans laquelle une opération de flux fastidieux peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionnait pas. les méthodes async sont utilisées conjointement avec les async await mots clés et dans Visual Basic et C#.

Utilisez la CanWrite propriété pour déterminer si l’instance actuelle prend en charge l’écriture.

Si l’opération est annulée avant d’être terminée, la tâche retournée contient la Canceled valeur de la Status propriété.

Pour obtenir un exemple, consultez la WriteAsync(Byte[], Int32, Int32) surcharge.

S’applique à

WriteAsync(Byte[], Int32, Int32)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits.

public:
 System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count);
public System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count);
member this.WriteAsync : byte[] * int * int -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.WriteAsync : byte[] * int * int -> System.Threading.Tasks.Task
Public Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer) As Task

Paramètres

buffer
Byte[]

Mémoire tampon dont sont issues les données à écrire.

offset
Int32

Dans buffer, décalage d'octet de base zéro à partir duquel commencer la copie des octets dans le flux.

count
Int32

Nombre maximal d'octets à écrire.

Retours

Task

Tâche qui représente l’opération d’écriture asynchrone.

Attributs

Exceptions

buffer a la valeur null.

offset ou count est un nombre négatif.

La somme de offset et count est supérieure à la longueur de la mémoire tampon.

Le flux ne prend pas en charge l'écriture.

Le flux a été supprimé.

Le flux est actuellement utilisé par une opération d’écriture précédente.

Exemples

L’exemple suivant montre comment écrire de façon asynchrone dans un fichier. L’exemple utilise la FileStream classe, qui dérive de la Stream classe.

using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UnicodeEncoding uniencoding = new UnicodeEncoding();
            string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";

            byte[] result = uniencoding.GetBytes(UserInput.Text);

            using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
            {
                SourceStream.Seek(0, SeekOrigin.End);
                await SourceStream.WriteAsync(result, 0, result.Length);
            }
        }
    }
}
Imports System.IO
Imports System.Text

Class MainWindow
    Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim uniencoding As UnicodeEncoding = New UnicodeEncoding()
        Dim filename As String = "c:\Users\exampleuser\Documents\userinputlog.txt"

        Dim result As Byte() = uniencoding.GetBytes(UserInput.Text)

        Using SourceStream As FileStream = File.Open(filename, FileMode.OpenOrCreate)
            SourceStream.Seek(0, SeekOrigin.End)
            Await SourceStream.WriteAsync(result, 0, result.Length)
        End Using
    End Sub
End Class

Remarques

La WriteAsync méthode vous permet d’effectuer des opérations d’e/s gourmandes en ressources sans bloquer le thread principal. cette considération de performance est particulièrement importante dans une application de bureau ou une application de bureau Windows 8. x dans laquelle une opération de flux fastidieux peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionnait pas. les méthodes async sont utilisées conjointement avec les async await mots clés et dans Visual Basic et C#.

Utilisez la CanWrite propriété pour déterminer si l’instance actuelle prend en charge l’écriture.

S’applique à

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

public:
 virtual System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
abstract member WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

Paramètres

buffer
Byte[]

Mémoire tampon dont sont issues les données à écrire.

offset
Int32

Dans buffer, décalage d'octet de base zéro à partir duquel commencer la copie des octets dans le flux.

count
Int32

Nombre maximal d'octets à écrire.

cancellationToken
CancellationToken

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

Retours

Task

Tâche qui représente l’opération d’écriture asynchrone.

Attributs

Exceptions

buffer a la valeur null.

offset ou count est un nombre négatif.

La somme de offset et count est supérieure à la longueur de la mémoire tampon.

Le flux ne prend pas en charge l'écriture.

Le flux a été supprimé.

Le flux est actuellement utilisé par une opération d’écriture précédente.

Remarques

La WriteAsync méthode vous permet d’effectuer des opérations d’e/s gourmandes en ressources sans bloquer le thread principal. cette considération de performance est particulièrement importante dans une application de bureau ou une application de bureau Windows 8. x dans laquelle une opération de flux fastidieux peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionnait pas. les méthodes async sont utilisées conjointement avec les async await mots clés et dans Visual Basic et C#.

Utilisez la CanWrite propriété pour déterminer si l’instance actuelle prend en charge l’écriture.

Si l’opération est annulée avant d’être terminée, la tâche retournée contient la Canceled valeur de la Status propriété.

Pour obtenir un exemple, consultez la WriteAsync(Byte[], Int32, Int32) surcharge.

Voir aussi

S’applique à