Writeメソッドで書き込んだデータをフラッシュさせるには、Flushメソッドを呼び出します。 FileStreamなど、内部でバッファリングが行われるように実装されているStreamでは、Flushメソッドを呼び出すことで内部バッファに格納された内容を反映させることができます。 ただ、Closeメソッドを呼び出したりusingステートメントから抜け出る際には自動的にフラッシュされるので、Streamを閉じる前においてはFlushメソッドを呼び出す必要はありません。
Flushメソッドを使ってStreamに書き込んだ内容をフラッシュする
using System;
using System.IO;
class Sample {
static void Main()
{
using (var stream = File.OpenWrite("sample.dat")) {
// 書き込むデータが格納されているバイト配列
var buffer = new byte[8] {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48};
// bufferの0番目から4バイト分(buffer[0]〜buffer[3])をstreamに書き込む
stream.Write(buffer, 0, 4);
// 書き込んだ内容をフラッシュする
stream.Flush();
// bufferの4番目から4バイト分(buffer[4]〜buffer[7])をstreamに書き込む
stream.Write(buffer, 4, 4);
}
// usingステートメントから抜け出る際にもDisposeメソッドにより自動的にフラッシュされる
}
}