2013-01-12 81 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:\\...")

相关问题