2013-01-12 116 views
-2

我有一個for循環(由一個計時器減慢),每秒循環將日期保存在文本文件中。但如果我在該過程結束之前關閉程序,則文本文件將保留。如何在每個循環之後將數據保存到文本文件?

事情是當我在課堂上出現時,我沒有足夠的時間浪費等待程序結束,同時我需要在某個時候暫停該線程,所以我不能只用一個較小的循環和風險沒有足夠的時間來暫停和恢復。

有沒有辦法在每個循環後保存文件?所以每當我退出(基於表單的應用程序),我會有一些數據呢?

+0

如果你想要比「是的,有一種方式」更好的回答,那麼我建議你張貼代碼,你有問題,也許更好地解釋問題是什麼。 – PhoenixReborn

+0

請顯示一些源代碼...你試過了什麼? – Yahia

+0

這是winforms,wpf還是? –

回答

1

設置StreamWriter.AutoFlush屬性爲true。這將使編寫器在每次調用StreamWriter.Write之後將緩衝區刷新到基礎文件流。

using(var writer = File.AppendText("fileName")) 
{ 
    writer.AutoFlush = true; 
    foreach(string line in lines) 
     writer.WriteLine(line); 
} 
+1

感謝ALOT MAN,完美工作 –

0

也許你可以有另一個循環(也有一個時間較少的定時器),它總是保存數據。

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公衆和形式關閉事件,你可以保存在關閉... public StreamWriter sr = new StreamWriter("C:\\...")

相關問題