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