
C#のプログラムで
データをCSVファイルに蓄積するプログラムを作っています。
やり方としては最初にCSVファイルを指定し
ボタンを押すたびに、データを追加するように作りました。
以下抜粋
//CSVファイル指定
csvfile = new System.IO.StreamWriter(csvPath, true, encording);
・
・
・
//データの書き込み
csvfile.Write(data);
csvfile.Write(",");
・
・
・
//CSVファイルクローズ
csvfile.Close();
このプログラムを動作させた所
「csvfile.Close();」の時点で、実際にcsvにデータが書き込まれました。
データの書き込みのたびにCSVファイルが更新されるのが理想なのですが、
その方法としては逐一クローズするしか方法はないのでしょうか?
何らかの方法で逐一更新出来たり、
もしくは異なるCSVへの書き込み方法があれば、教えていただけないでしょうか?
No.2ベストアンサー
- 回答日時:
ご回答ありがとうございます
この動作が求めていたものです。
自分でも、調べていたつもりだったのですが
スルーしていたようです。
ありがとうございました
No.1
- 回答日時:
ストリームをバッファリング無しにしても、OSレベルでバッファリングが行われるので、一番確実なのは
>その方法としては逐一クローズするしか方法はない
でしょうね。
それに、ファイルを開きっ放しの場合、排他制御により他の人はアクセス出来ませんから逐次更新しても無駄です。誰かが更新された内容にアクセスしようとしてもオープン出来ません。
なので「逐次更新した更新結果を、他の人にアクセスさせたい」のであれば「毎回、書き込んですぐにクローズする」しかありません。
私の説明不足でした。
逐一更新したい理由として
アクセスするのではなく、該当ファイルをクローズしていない途中段階でコピーしたかったのです
そのため、クローズしていなくてもデータ自体は更新されている状態にしておきたかった、ということです。
しかし、アクセスするにはやはり閉じるしか手段が無いということは
確証が持てていなかったためchie65535さんの情報もありがたかったです。
ご回答いただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelをCSV書き出す場合のシー...
-
拡張子 ”log” と ” dat” の違い
-
CSVが可変長の場合の検索方法
-
VBAでCSVファイルを途中行まで...
-
データファイルの行を削除する
-
perlで容量の大きいCSVファイル...
-
fgets で値が取得できない
-
readdir()で得られるファイル・...
-
unlink 、renameが使えない理由
-
Perl:Unicodeプロパティ作れない
-
perlのローカルプログラムでデ...
-
タブの色を変更する方法
-
ファイルの存在の有無を確かめ...
-
vba dir の相対パス
-
フォルダ内のファイルを全て開...
-
perlでuse utf8でsjisのファイ...
-
C言語でファイル名を取得
-
where can I buy snowbord in t...
-
Cでのファイルからの入力および...
-
エクセルVBAで素数だけを出力す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
MATLAB グローバル変数の宣言
-
openした後、closeしないでプロ...
-
ExcelをCSV書き出す場合のシー...
-
ReadLineでの読み出し行を指定する
-
JavaでCSVファイルを高速に読む...
-
VBAで巨大なファイルの途中から...
-
VB6.0でDB接続する際に切断時の...
-
Perlの変数に文字数制限(容量...
-
CSVが可変長の場合の検索方法
-
C言語でのファイルのデータ更...
-
Javaで同一のファイルを読み込...
-
perlで、後ろの行を読んで、前...
-
C#でCSVファイルを逐一更新したい
-
perl内でPHPを動かす?
-
外部サーバーにあるファイルを...
-
ADOによるCSVファイルからのデ...
-
エディットボックスの表示方法...
-
拡張子 ”log” と ” dat” の違い
おすすめ情報