BufferedStream.Write Método

Definição

Sobrecargas

Name Description
Write(ReadOnlySpan<Byte>)

Escreve uma sequência de bytes no fluxo em buffer atual e avança a posição atual dentro desse fluxo em buffer pelo número de bytes escritos.

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 escritos.

Write(ReadOnlySpan<Byte>)

Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs

Escreve uma sequência de bytes no fluxo em buffer atual e avança a posição atual dentro desse fluxo em buffer pelo 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>

Uma região da memória. Este método copia o conteúdo desta região para o fluxo buffer atual.

Observações

Use a CanWrite propriedade para determinar se a instância atual suporta escrita. Use o WriteAsync método para escrever assíncronamente no fluxo atual em buffer.

Se a operação de escrita for bem-sucedida, a posição dentro do fluxo em buffer avança pelo número de bytes escritos. Se ocorrer uma exceção, a posição dentro do fluxo em buffer mantém-se inalterada.

Aplica-se a

Write(Byte[], Int32, Int32)

Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs
Origem:
BufferedStream.cs

Copia bytes para o fluxo em buffer e avança a posição atual dentro do fluxo em buffer pelo número de bytes escritos.

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

Parâmetros

bufferarray
Byte[]
offset
Int32

O deslocamento no buffer onde começar a copiar bytes para o fluxo atual em buffer.

count
Int32

O número de bytes a ser escrito no fluxo bufferizado atual.

Exceções

O comprimento de array menos offset é menor que count.

array é null.

offset ou count é negativo.

O fluxo é fechado ou null.

O stream não suporta escrita.

Os métodos foram chamados após o encerramento do riacho.

Exemplos

Este exemplo de código faz parte de um exemplo maior fornecido para a BufferedStream classe.

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

Ver também

Aplica-se a