BufferedStream.Write メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Write(ReadOnlySpan<Byte>) |
現在のバッファー ストリームにバイト シーケンスを書き込み、書き込んだバイト数だけこのバッファー ストリーム内の現在位置を進めます。 |
Write(Byte[], Int32, Int32) |
バッファー ストリームにバイトをコピーし、書き込んだバイト数だけバッファー ストリーム内の現在位置を進めます。 |
Write(ReadOnlySpan<Byte>)
現在のバッファー ストリームにバイト シーケンスを書き込み、書き込んだバイト数だけこのバッファー ストリーム内の現在位置を進めます。
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))
パラメーター
- buffer
- ReadOnlySpan<Byte>
メモリの領域。 このメソッドでは、この領域のコンテンツが現在のバッファー ストリームにコピーされます。
注釈
プロパティを使用して、 CanWrite 現在のインスタンスが書き込みをサポートしているかどうかを判断します。 メソッドを WriteAsync 使用して、現在のバッファーストリームに非同期的に書き込みます。
書き込み操作が成功した場合、バッファーストリーム内の位置は書き込まれたバイト数だけ進みます。 例外が発生した場合、バッファーストリーム内の位置は変更されません。
適用対象
Write(Byte[], Int32, Int32)
バッファー ストリームにバイトをコピーし、書き込んだバイト数だけバッファー ストリーム内の現在位置を進めます。
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)
パラメーター
- arraybuffer
- Byte[]
現在のバッファー ストリームに対する count
バイトのコピー元のバイト配列。
- offset
- Int32
現在のバッファー ストリームへのバイトのコピーを開始する位置のバッファーのオフセット。
- count
- Int32
現在のバッファー ストリームに書き込むバイト数。
例外
array
の長さから offset
を引いた値が count
未満です。
array
が null
です。
offset
または count
が負の値です。
ストリームが閉じているか、null
です。
ストリームは書き込みをサポートしません。
ストリームが閉じた後でメソッドが呼び出されました。
例
このコード例は、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).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"))
こちらもご覧ください
適用対象
.NET