我正在使用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();
我注意到的是,在关闭之前,没有数据写入文件。
有什么办法可以在关闭之前将内容保存到文件中。
答案 0 :(得分:5)
答案 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();