c#每隔200个循环后保存Streamwriter而不关闭

时间:2015-06-01 07:37:31

标签: c# file save

我正在使用StreamWriter将一些数据写入文件。

System.IO.StreamWriter file = new System.IO.StreamWriter(path);
while(something_is_happening && my_flag_is_true)
     file.WriteLine(some_text_goes_Inside);

file.close();

我注意到的是,在关闭之前,没有数据写入文件。

有什么办法可以在关闭之前将内容保存到文件中。

4 个答案:

答案 0 :(得分:5)

我认为您正在寻找Flush

file.Flush();

应该这样做。

答案 1 :(得分:4)

调用Flush()强制写入缓冲区:

file.Flush();
  

清除当前编写器的所有缓冲区并导致任何缓冲数据   写入基础流。

或设置AutoFlush属性

file.AutoFlush = true;
  

获取或设置一个值,指示StreamWriter是否将刷新   每次调用后它的缓冲区到底层流   StreamWriter.Write。

答案 2 :(得分:4)

为此,您可以使用Flush方法。

System.IO.StreamWriter file = new System.IO.StreamWriter(path);
int counter = 0;
while(something_is_happening && my_flag_is_true)
{
    file.WriteLine(some_text_goes_Inside);
    counter++;
    if(counter < 200) continue;
    file.Flush();
    counter = 0;
}
file.Close();

有关详情,请欢迎MSDN

答案 3 :(得分:2)

周期:

System.IO.StreamWriter file = new System.IO.StreamWriter(path);
for (int i = 0; true && flag; i++)
{
    file.WriteLine(some_text_goes_Inside);
    if (i == 200)
    {
        file.Flush();
        i = 0;
    }
}
file.Close();