我们遇到了一个服务器的问题,并且它使用了StreamWriter类.有没有人遇到类似下面的问题?如果是这样,解决问题的解决方案是什么?
using( StreamWriter logWriter = File.CreateText( logFileName ) )
{
for (int i = 0; i < 500; i++)
logWriter.WriteLine( "Process completed successfully." );
}
Run Code Online (Sandbox Code Playgroud)
写出文件时,会生成以下输出:
Process completed successfully.
... (497 more lines)
Process completed successfully.
Process completed s
Run Code Online (Sandbox Code Playgroud)
尝试在关闭之前添加logWriter.Flush(),没有任何帮助.我写出的文本行越多,发生的数据丢失就越多.
有时即使你调用flush(),它也不会起作用。因为 Flush() 将导致流写入流中的大部分数据,除了其缓冲区的最后一个块。
try
{
// ... write method
// i dont recommend use 'using' for unmanaged resource
}
finally
{
stream.Flush();
stream.Close();
stream.Dispose();
}
Run Code Online (Sandbox Code Playgroud)