BufferedStream.Write Método

Definição

Sobrecargas

Write(ReadOnlySpan<Byte>)

Grava uma sequência de bytes no fluxo em buffer atual e avança a posição atual nesse fluxo em buffer até o número de bytes gravados.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)

Copia bytes para o fluxo em buffer e avança a posição atual dentro do fluxo em buffer pelo número de bytes gravados.Copies bytes to the buffered stream and advances the current position within the buffered stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

Grava uma sequência de bytes no fluxo em buffer atual e avança a posição atual nesse fluxo em buffer até o número de bytes gravados.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))

Parâmetros

buffer
ReadOnlySpan<Byte>

Uma região da memória.A region of memory. Esse método copia o conteúdo dessa região para o fluxo em buffer atual.This method copies the contents of this region to the current buffered stream.

Comentários

Use a CanWrite propriedade para determinar se a instância atual oferece suporte à gravação.Use the CanWrite property to determine whether the current instance supports writing. Use o WriteAsync método para gravar de forma assíncrona no fluxo em buffer atual.Use the WriteAsync method to write asynchronously to the current buffered stream.

Se a operação de gravação for bem-sucedida, a posição dentro do fluxo em buffer avançará pelo número de bytes gravados.If the write operation is successful, the position within the buffered stream advances by the number of bytes written. Se ocorrer uma exceção, a posição dentro do fluxo em buffer permanecerá inalterada.If an exception occurs, the position within the buffered stream remains unchanged.

Aplica-se a

Write(Byte[], Int32, Int32)

Copia bytes para o fluxo em buffer e avança a posição atual dentro do fluxo em buffer pelo número de bytes gravados.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)

Parâmetros

array
Byte[]

A matriz de bytes da qual copiar count bytes para o fluxo em buffer atual.The byte array from which to copy count bytes to the current buffered stream.

offset
Int32

O deslocamento no buffer no qual começar a copiar bytes para o fluxo em buffer atual.The offset in the buffer at which to begin copying bytes to the current buffered stream.

count
Int32

O número de bytes a serem gravados no fluxo em buffer atual.The number of bytes to be written to the current buffered stream.

Exceções

O tamanho de array menos offset é menor que count.Length of array minus offset is less than count.

array é null.array is null.

offset ou count é negativo.offset or count is negative.

O fluxo está fechado ou null.The stream is closed or null.

Não há suporte para gravação no fluxo.The stream does not support writing.

Foram chamados métodos depois que o fluxo foi fechado.Methods were called after the stream was closed.

Exemplos

Este exemplo de código faz parte de um exemplo maior fornecido para a 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"))

Confira também

Aplica-se a