
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ランキング
-
エクセルVBA コードが同じでも...
-
openした後、closeしないでプロ...
-
Javaで同一のファイルを読み込...
-
C言語で特定の行を抽出する方法...
-
重複するデータを抽出できる秀...
-
標準入出力 パイプ
-
無料配布の郵便番号自動入力cgi...
-
Perl出力をUTF-8に指定する方法
-
MacOSXでのPerlプログラミング
-
テキストファイルの本文中に行...
-
ディレクトリー内のリスト出力...
-
ディレクトリ内の全ファイルを...
-
CGIで日本語名ファイルのアップ...
-
C++でのテキストファイル読み込...
-
Perlを利用してテキストフ...
-
大容量テキストファイルから任...
-
Windowsで複数のファイルを同じ...
-
ファイル内のキーを元に別のフ...
-
詳しい方教えて頂けませんでし...
-
空白文字 \\f と\\v の違いに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
ExcelをCSV書き出す場合のシー...
-
MATLAB グローバル変数の宣言
-
ReadLineでの読み出し行を指定する
-
ファイルからある文字列の個数...
-
openした後、closeしないでプロ...
-
DBMとハッシュ
-
Perlの変数に文字数制限(容量...
-
JavaでCSVファイルを高速に読む...
-
2つのCSVファイルをマッチング
-
Shift-jisで正規表現
-
リストボックスから選択、結果...
-
C言語でのファイルのデータ更...
-
perlでのクローリングについて
-
パーミッションについて
-
VB6.0でDB接続する際に切断時の...
-
ファイル入出力のタイミング
-
STDINから何度も読み込むことは...
-
CGIからPHPへデータを渡したい
おすすめ情報