BufferedStream.Write Méthode

Définition

Surcharges

Write(ReadOnlySpan<Byte>)

Écrit une séquence d’octets dans le flux mis en mémoire tampon actuel et avance la position actuelle dans ce flux du nombre d’octets écrits.Writes a sequence of bytes to the current buffered stream and advances the current position within this buffered stream by the number of bytes written.

Write(Byte[], Int32, Int32)

Copie les octets dans le flux mis en mémoire tampon et avance la position actuelle dans ce flux du nombre d’octets écrits.Copies bytes to the buffered stream and advances the current position within the buffered stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

Écrit une séquence d’octets dans le flux mis en mémoire tampon actuel et avance la position actuelle dans ce flux du nombre d’octets écrits.Writes a sequence of bytes to the current buffered stream and advances the current position within this buffered stream by the number of bytes written.

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

Paramètres

buffer
ReadOnlySpan<Byte>

Région de la mémoire.A region of memory. Cette méthode copie le contenu de cette région dans le flux mis en mémoire tampon actuel.This method copies the contents of this region to the current buffered stream.

Remarques

Utilisez la CanWrite propriété pour déterminer si l’instance actuelle prend en charge l’écriture.Use the CanWrite property to determine whether the current instance supports writing. Utilisez la WriteAsync méthode pour écrire de façon asynchrone dans le flux en cours mis en mémoire tampon.Use the WriteAsync method to write asynchronously to the current buffered stream.

Si l’opération d’écriture réussit, la position dans le flux mis en mémoire tampon avance du nombre d’octets écrits.If the write operation is successful, the position within the buffered stream advances by the number of bytes written. Si une exception se produit, la position dans le flux mis en mémoire tampon reste inchangée.If an exception occurs, the position within the buffered stream remains unchanged.

S’applique à

Write(Byte[], Int32, Int32)

Copie les octets dans le flux mis en mémoire tampon et avance la position actuelle dans ce flux du nombre d’octets écrits.Copies bytes to the buffered stream and advances the current position within the buffered stream by the number of bytes written.

public:
 override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public override void Write (byte[] array, int offset, int count);
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)

Paramètres

array
Byte[]

Tableau d'octets à partir duquel count octets sont copiés vers le flux en cours mis en mémoire tampon.The byte array from which to copy count bytes to the current buffered stream.

offset
Int32

Dans la mémoire tampon, offset à partir duquel commence la copie des octets dans le flux actuel mis en mémoire tampon.The offset in the buffer at which to begin copying bytes to the current buffered stream.

count
Int32

Nombre d’octets à écrire dans le flux actuel mis en mémoire tampon.The number of bytes to be written to the current buffered stream.

Exceptions

La longueur de array moins offset est inférieure à count.Length of array minus offset is less than count.

array a la valeur null.array is null.

offset ou count est un nombre négatif.offset or count is negative.

Le flux est fermé ou null.The stream is closed or null.

Le flux ne prend pas en charge l'écriture.The stream does not support writing.

Des méthodes ont été appelées après la fermeture du flux.Methods were called after the stream was closed.

Exemples

Cet exemple de code fait partie d’un exemple plus complet fourni pour la BufferedStream classe.This code example is part of a larger example provided for the BufferedStream class.

// Send the data using the BufferedStream.
Console::WriteLine( "Sending data using BufferedStream." );
startTime = DateTime::Now;
for ( int i = 0; i < numberOfLoops; i++ )
{
   bufStream->Write( dataToSend, 0, dataToSend->Length );

}
bufStream->Flush();
bufferedTime = (DateTime::Now - startTime).TotalSeconds;
Console::WriteLine( "{0} bytes sent in {1} seconds.\n", (numberOfLoops * dataToSend->Length).ToString(), bufferedTime.ToString(  "F1" ) );

// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
    bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
    numberOfLoops * dataToSend.Length,
    bufferedTime.ToString("F1"));
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
    bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i

bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
    numberOfLoops * dataToSend.Length, _
    bufferedTime.ToString("F1"))

Voir aussi

S’applique à