BufferedStream.Write Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
Write(ReadOnlySpan<Byte>) |
Schreibt eine Bytesequenz in den aktuellen gepufferten Stream und setzt die aktuelle Position in diesem gepufferten Stream um die Anzahl der geschriebenen Bytes nach vorn. |
Write(Byte[], Int32, Int32) |
Kopiert Bytes in den gepufferten Stream und verschiebt die aktuelle Position im gepufferten Stream um die Anzahl der geschriebenen Bytes. |
Write(ReadOnlySpan<Byte>)
- Quelle:
- BufferedStream.cs
- Quelle:
- BufferedStream.cs
- Quelle:
- BufferedStream.cs
Schreibt eine Bytesequenz in den aktuellen gepufferten Stream und setzt die aktuelle Position in diesem gepufferten Stream um die Anzahl der geschriebenen Bytes nach vorn.
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))
Parameter
- buffer
- ReadOnlySpan<Byte>
Ein Bereich im Arbeitsspeicher. Diese Methode kopiert den Inhalt dieses Bereichs in den aktuellen gepufferten Stream.
Hinweise
Verwenden Sie die CanWrite -Eigenschaft, um zu bestimmen, ob die aktuelle instance das Schreiben unterstützt. Verwenden Sie die WriteAsync -Methode, um asynchron in den aktuellen gepufferten Stream zu schreiben.
Wenn der Schreibvorgang erfolgreich ist, wird die Position innerhalb des gepufferten Datenstroms um die Anzahl der geschriebenen Bytes erhöht. Wenn eine Ausnahme auftritt, bleibt die Position innerhalb des gepufferten Datenstroms unverändert.
Gilt für:
Write(Byte[], Int32, Int32)
- Quelle:
- BufferedStream.cs
- Quelle:
- BufferedStream.cs
- Quelle:
- BufferedStream.cs
Kopiert Bytes in den gepufferten Stream und verschiebt die aktuelle Position im gepufferten Stream um die Anzahl der geschriebenen Bytes.
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)
Parameter
- arraybuffer
- Byte[]
Das Bytearray, aus dem count
Bytes in den aktuellen gepufferten Stream kopiert werden sollen.
- offset
- Int32
Der Offset im Puffer, ab dem Bytes in den aktuellen gepufferten Stream kopiert werden sollen.
- count
- Int32
Die Anzahl der Bytes, die in den aktuellen gepufferten Stream geschrieben werden sollen.
Ausnahmen
Die Länge von array
minus offset
ist kleiner als count
.
array
ist null
.
offset
oder count
ist ein negativer Wert.
Der Stream ist geschlossen oder null
.
Der Stream unterstützt das Schreiben nicht.
Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.
Beispiele
Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die BufferedStream-Klasse bereitgestellt wird.
// 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"))
Weitere Informationen
- CanWrite
- Read(Byte[], Int32, Int32)
- Datei- und Stream-E/A
- How to: Lesen von Text aus einer Datei
- How to: Schreiben von Text in eine Datei