-2

for ループ (タイマーによって遅くなる) があり、ループは毎秒日付をテキスト ファイルに保存します。しかし、プロセスが終了する前にプログラムを閉じると、テキスト ファイルが残ります。

問題は、クラスに出席するとき、プログラムが終了するのを待つのに十分な時間がないことです。同時に、スレッドを一時停止する必要があるため、小さなループを使用してリスクを冒すことはできません。中断して再開するのに十分な時間があります。

ループごとにファイルを保存する方法はありますか? だから私が(フォームベースのアプリケーション)を終了するたびに、そこにいくつかのデータがありますか?

4

3 に答える 3

1

StreamWriter.AutoFlushプロパティをに設定しtrueます。これにより、StreamWriter.Writeを呼び出すたびに、ライターはそのバッファーを基になるファイルストリームにフラッシュします。

using(var writer = File.AppendText("fileName"))
{
    writer.AutoFlush = true;
    foreach(string line in lines)
        writer.WriteLine(line);
}
于 2013-01-12T21:28:31.123 に答える
0

これをテキストファイルへの保存として使用してみてください:

古いテキストを読み取り、古いテキストと新しいテキストを保存します...

StreamReader sr = new StreamReader(path);
StreamWriter sw = new StreamWriter(path);
string old = sr.ReadToEnd();
sr.Close();
sw.WriteLine(old);
sw.WriteLine(date);
sw.Close();

または、StreamWriter をパブリックとして作成し、Form Closing イベントで閉じるときに保存できます... public StreamWriter sr = new StreamWriter("C:\\...")

于 2013-01-12T21:35:33.047 に答える
0

たぶん、データを常に保存する別のループを (時間の短いタイマーでも) 持つことができます。

于 2013-01-12T21:27:28.617 に答える