- - PR -
テキストファイルの上書きについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-12 19:49
=====test.txt====
1行目:2006/10/12 10:30,XXXXXXXX 2行目:2006/10/12 10:32,XXXXXXXXXX 3行目:2006/10/12 10:35,XX 4行目:2006/10/12 10:40,XXXXXX ================= 上記のようなテキストファイルがあります。 1行目に 2006/10/12 10:42,XXX という内容を上書きする方法を教えて下さい。 ログファイルとして使用することを考えていて ある件数に達した場合、古いデータから 消えていくファイルとしたいのです。 よろしくお願いします。 [VB.NET 2003] | ||||
|
投稿日時: 2006-10-12 20:11
#またかorz
一般にファイルはバイトストリーム(1バイトを最小単位として連続して並んでいるデータ)を管理する機能しか提供しません。1バイト単位で置き換えることは可能ですが、間にデータを挿入することは出来ません。それ以上の事、例えば今回のように1行を置き換える為には、1行を置き換えるための仕組みをファイルに持たせなくてはなりません。今回の例だと全ての行を同じ文字数に揃えるとか、あるいはテキストファイルとして格納することを諦める事になります。 一般的なログシステムでは古いログを上書きするような事はしません。一日分を1ファイルなどとし、複数のファイルに保存してゆきます。古いログを消したい場合には、もっとも古いファイルを消すようにしますね。 | ||||
|
投稿日時: 2006-10-12 20:14
StreamReader などで一気に読み込んで、一気に書き出すのが基本です。 ファイルで考えるのではなく、文字列で考えれば難しくないと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-10-12 21:20
甕星さん、じゃんぬねっとさん
ありがとうございます。 複数のファイルを使用して、ログをとる 方法でいきたいと思います。 | ||||
|
投稿日時: 2006-10-13 08:54
ログを取るという目的であれば、この方法が一番自然ですね。 一つのファイルをFIFOする手法は、あまり聞いたことないです。 _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog |
1