Udostępnij za pośrednictwem


BufferedStream.Write Metoda

Definicja

Przeciążenia

Nazwa Opis
Write(ReadOnlySpan<Byte>)

Zapisuje sekwencję bajtów do bieżącego buforowanego strumienia i przechodzi bieżącą pozycję w ramach tego buforowanego strumienia przez liczbę zapisanych bajtów.

Write(Byte[], Int32, Int32)

Kopiuje bajty do buforowanego strumienia i przechodzi bieżącą pozycję w buforowanych strumieniach przez liczbę zapisanych bajtów.

Write(ReadOnlySpan<Byte>)

Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs

Zapisuje sekwencję bajtów do bieżącego buforowanego strumienia i przechodzi bieżącą pozycję w ramach tego buforowanego strumienia przez liczbę zapisanych bajtów.

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. Ta metoda kopiuje zawartość tego regionu do bieżącego buforowanego strumienia.

Uwagi

CanWrite Użyj właściwości , aby określić, czy bieżące wystąpienie obsługuje pisanie. WriteAsync Użyj metody , aby zapisać asynchronicznie do bieżącego buforowanego strumienia.

Jeśli operacja zapisu zakończy się pomyślnie, pozycja w buforowanym strumieniu przechodzi przez liczbę zapisanych bajtów. Jeśli wystąpi wyjątek, pozycja w buforowanym strumieniu pozostaje niezmieniona.

Dotyczy

Write(Byte[], Int32, Int32)

Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs
Źródło:
BufferedStream.cs

Kopiuje bajty do buforowanego strumienia i przechodzi bieżącą pozycję w buforowanych strumieniach przez liczbę zapisanych bajtów.

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)

Parametry

bufferarray
Byte[]
offset
Int32

Przesunięcie w buforze, w którym należy rozpocząć kopiowanie bajtów do bieżącego buforowanego strumienia.

count
Int32

Liczba bajtów do zapisania do bieżącego buforowanego strumienia.

Wyjątki

array Długość minus offset jest mniejsza niż count.

Parametr array ma wartość null.

offset lub count jest ujemny.

Strumień jest zamknięty lub null.

Strumień nie obsługuje zapisu.

Metody zostały wywołane po zamknięciu strumienia.

Przykłady

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

Zobacz też

Dotyczy