BufferedStream.Write Metoda

Definicja

Przeciążenia

Write(ReadOnlySpan<Byte>)

Zapisuje sekwencję bajtów do bieżącego buforowanego strumienia i postępuje bieżącą pozycję w tym strumieniu buforowanym przez liczbę zapisanych bajtów.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)

Kopiuje bajty do strumienia buforowanego i postępuje bieżącą pozycję w strumieniu buforowanym przez liczbę zapisanych bajtów.Copies bytes to the buffered stream and advances the current position within the buffered stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

Zapisuje sekwencję bajtów do bieżącego buforowanego strumienia i postępuje bieżącą pozycję w tym strumieniu buforowanym przez liczbę zapisanych bajtów.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))

Parametry

buffer
ReadOnlySpan<Byte>

Region pamięci.A region of memory. Ta metoda kopiuje zawartość tego regionu do bieżącego buforowanego strumienia.This method copies the contents of this region to the current buffered stream.

Uwagi

Użyj CanWrite właściwości, aby określić, czy bieżące wystąpienie obsługuje zapisywanie.Use the CanWrite property to determine whether the current instance supports writing. Użyj WriteAsync metody, aby zapisać asynchronicznie w bieżącym strumieniu buforowanym.Use the WriteAsync method to write asynchronously to the current buffered stream.

Jeśli operacja zapisu powiedzie się, pozycja w buforze buforowanym zastąpi przez liczbę zapisanych bajtów.If the write operation is successful, the position within the buffered stream advances by the number of bytes written. Jeśli wystąpi wyjątek, pozycja w buforowanym strumieniu pozostaje niezmieniona.If an exception occurs, the position within the buffered stream remains unchanged.

Dotyczy

Write(Byte[], Int32, Int32)

Kopiuje bajty do strumienia buforowanego i postępuje bieżącą pozycję w strumieniu buforowanym przez liczbę zapisanych bajtów.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)

Parametry

array
Byte[]

Tablica bajtów, z której mają zostać skopiowane count bajty do bieżącego buforowanego strumienia.The byte array from which to copy count bytes to the current buffered stream.

offset
Int32

Przesunięcie w buforze, od którego należy rozpocząć kopiowanie bajtów do bieżącego buforowanego strumienia.The offset in the buffer at which to begin copying bytes to the current buffered stream.

count
Int32

Liczba bajtów do zapisania w bieżącym buforowanym strumieniu.The number of bytes to be written to the current buffered stream.

Wyjątki

Długość array minus offset jest mniejsza niż count .Length of array minus offset is less than count.

array to null.array is null.

offset lub count jest ujemna.offset or count is negative.

Strumień jest zamknięty lub null .The stream is closed or null.

Strumień nie obsługuje zapisu.The stream does not support writing.

Metody zostały wywołane po zamknięciu strumienia.Methods were called after the stream was closed.

Przykłady

Ten przykład kodu jest częścią większego przykładu dostarczonego dla BufferedStream klasy.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"))

Zobacz też

Dotyczy