VB.NET Compact Framework 2.0において、CSVファイル中の特定の行(100行中の20行目など)に文字列を出力し、行を上書きする方法はありませんか? この時、出力する文字列は可変です。また、処理速度重視のため、全行出力はできません。

 FileStream.Seekによる位置指定では、1行出力するたびに行位置を特定するための位置再計算が必要になると思われるため、もっと簡便な方法を探しています。
 以上、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/01/15 19:52:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:s-pai No.1

回答回数7ベストアンサー獲得回数0

ポイント100pt

残念な話で悪いのですが、CSVファイルを直接編集して特定行のみを可変文字列で編集することはできません。

(可変文字列で行うとしたら最低でも編集した行以降は全部再出力する必要がある)

もしCSVファイルを直接編集しなくてよい。必要なときに出力できれば十分というのであれば、データベース機能を使うことをおすすめします。

http://www.microsoft.com/japan/msdn/thisweek/10lines/sqlce_offli...

たとえば主キーを行、データを出力データにすれば必要なデータを書き込むことができます。このとき、行位置の特定のための計算は一切いりません!(データベースで自動管理)CSVファイルが必要であればこのデータから生成すればよいかと思います。

(もちろんデータは複数もてますのでシステムにあわせてどうぞ)

id:lains_you

 そうですか。残念です。

 CSVファイルは他の端末と送受信する必要があり、どちらにしろ出力しなければならないのでそのまま編集したかったのですが、難しいですね。

 どうもありがとうございました。

2007/01/11 09:27:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません