BufferedStream.Write Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Write(ReadOnlySpan<Byte>) |
Zapisuje sekwencję bajtów do bieżącego buforowanego strumienia i rozwija bieżącą pozycję w tym buforowym strumieniu według liczby zapisanych bajtów. |
| Write(Byte[], Int32, Int32) |
Kopiuje bajty do buforowanego strumienia i rozwija bieżącą pozycję w buforowanych strumieniach według liczby zapisanych bajtów. |
Write(ReadOnlySpan<Byte>)
- Ź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 rozwija bieżącą pozycję w tym buforowym strumieniu według liczby 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
Użyj właściwości , CanWrite 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
Kopiuje bajty do buforowanego strumienia i rozwija bieżącą pozycję w buforowanych strumieniach według liczby zapisanych bajtów.
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)
Parametry
- arraybuffer
- Byte[]
Tablica bajtów, z której mają być kopiowane count bajty do bieżącego buforowanego strumienia.
- offset
- Int32
Przesunięcie w buforze, w którym rozpocznie się 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.
array to null.
offset lub count jest ujemny.
Strumień jest zamknięty lub null.
Strumień nie obsługuje zapisywania.
Metody były wywoływane po zamknięciu strumienia.
Przykłady
Ten przykład kodu jest częścią większego przykładu podanego BufferedStream dla klasy.
// 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"))
Zobacz też
- CanWrite
- Read(Byte[], Int32, Int32)
- Plik i Stream we/wy
- Instrukcje: Odczytywanie tekstu z pliku
- Instrukcje: Zapisywanie tekstu w pliku