[C#]StreamWriterでファイルを排他オープンする方法

StreamWriterを使用してファイルを書き込む場合、通常以下のような感じでコーディングを行う。

using( StreamWriter writer = new StreamWriter( stream, Encoding.GetEncoding(932) ) ) {
	writer.Write( ... );
}



これに対して、出力するファイルを排他オープンし、ファイル書き込み中に他プロセスからの読み取りを拒否させたい場合がある。
その場合は、以下のようにusingを重ね、FileStreamからstreamをもらうようにすると良い。

using( FileStream   stream = new FileStream( filename, FileMode.Create, FileAccess.Write, FileShare.None ) )
using( StreamWriter writer = new StreamWriter( stream, Encoding.GetEncoding(932) ) ) {
	writer.Write( ... );
}

関連記事

コメントを残す

メールアドレスが公開されることはありません。