我需要将信息记录到文件大约每分钟1000-2000次。我还需要保存该信息以防应用程序崩溃。
目前我正在做的事情:
using(StreamWriter sw=new StreamWriter(filename,true))
{
sw.WriteLine(info);
}
这很有效,但速度非常慢。
我想做这样的事情:
static StreamWriter sw=new StreamWriter(file,true);
....
public static void Main(...)
{
.....
sw.WriteLine(....);
}
但是当我编写这样的代码时,我担心当应用程序崩溃时,我存储的信息会丢失。
如何保存文件中的信息而不必一直打开和关闭它?
答案 0 :(得分:5)
每次写作后都可以致电StreamWriter.Flush()
。
public static void Main(...)
{
.....
sw.WriteLine(....);
sw.Flush();
}
答案 1 :(得分:1)
我已使用此class它实现了每X消息或Y时间刷新的队列。
您可以改进它在flushLog()中移动while块之外的while块并设置固定文件名