ファイルの書き出し位置を指定する|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();
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です