ファイルの書き出し位置を指定する|C#
ファイルの書き込み位置を指定することで、書き込みモードでファイルを開いたまま内容を上書きできます。
書式
FileStream
クラスのSeek
メソッドを使用して書き出し位置を指定します。
long Seek(long offset, SeekOrigin origin)
SeekOrigin 列挙型
メンバ名 | 説明 |
---|---|
Begin | ストリームの先頭を指定します。offset は正の値を設定します。 |
Current | ストリーム内の現在位置を指定します。 |
End | ストリームの末尾を指定します。offset は負の値を設定します。 |
ファイルを開いたまま内容を更新するサンプル
下記サンプルでは書き出し実行毎にファイル内容が
000
111
222
と変化します。
using System.IO;
// 変数定義
private FileStream _stream;
private int _num;
// 生成
_stream = new FileStream(@"output.txt", FileMode.Create);
_num = 48;
// 書き出し
byte[] bytes = new byte[3];
bytes[0] = (byte)(_num);
bytes[1] = (byte)(_num);
bytes[2] = (byte)(_num);
_stream.Seek(0, SeekOrigin.Begin);
_stream.Write(bytes, 0, bytes.Length);
_stream.Flush();
_num++;
// 終了
_stream.Close();