Compartir a través de


BufferedStream.Write Método

Definición

Sobrecargas

Write(ReadOnlySpan<Byte>)

Escribe una secuencia de bytes en la secuencia almacenada en búfer actual y avanza la posición actual dentro de esta secuencia almacenada en búfer el número de bytes escritos.

Write(Byte[], Int32, Int32)

Copia bytes en la secuencia almacenada en el búfer y avanza la posición actual dentro de la secuencia almacenada en el búfer según el número de bytes escritos.

Write(ReadOnlySpan<Byte>)

Source:
BufferedStream.cs
Source:
BufferedStream.cs
Source:
BufferedStream.cs

Escribe una secuencia de bytes en la secuencia almacenada en búfer actual y avanza la posición actual dentro de esta secuencia almacenada en búfer el número de bytes escritos.

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))

Parámetros

buffer
ReadOnlySpan<Byte>

Región de memoria. Este método copia el contenido de esta región en la secuencia almacenada en búfer actual.

Comentarios

Utilice la CanWrite propiedad para determinar si la instancia actual admite la escritura. Use el WriteAsync método para escribir de forma asincrónica en el flujo almacenado en búfer actual.

Si la operación de escritura se realiza correctamente, la posición dentro del flujo almacenado en búfer avanza por el número de bytes escritos. Si se produce una excepción, la posición dentro de la secuencia almacenada en búfer permanece sin cambios.

Se aplica a

Write(Byte[], Int32, Int32)

Source:
BufferedStream.cs
Source:
BufferedStream.cs
Source:
BufferedStream.cs

Copia bytes en la secuencia almacenada en el búfer y avanza la posición actual dentro de la secuencia almacenada en el búfer según el número de bytes escritos.

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

Parámetros

arraybuffer
Byte[]

Matriz de bytes de la que copiar bytes count en la secuencia almacenada en el búfer actual.

offset
Int32

Desplazamiento en el búfer donde se comienzan a copiar bytes en la secuencia almacenada en el búfer actual.

count
Int32

Número de bytes que se deben escribir en la secuencia almacenada en el búfer actual.

Excepciones

La longitud de array menos offset es menor que count.

array es null.

offset o count es negativo.

La secuencia está cerrada o es null.

La secuencia no admite escritura.

Se efectuó una llamada a los métodos después de cerrar la secuencia.

Ejemplos

Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase BufferedStream.

// 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.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
    bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' 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"))

Consulte también

Se aplica a