使用TextWriter时,文本文件不会立即更新

use*_*439 0 c# winforms

TextWriter用来写文本文件每100ms写一次串行数据.但文本文件不会立即更新.有时,在.txt文件上显示书面文本需要几秒钟,有时需要一分钟.我该如何解决这个问题?

   TextWriter tw;

    tw = new StreamWriter(new FileStream(path + "\\" + currentSubdirName + "\\" + currentFileName, FileMode.CreateNew));
    tw.Write(text);
Run Code Online (Sandbox Code Playgroud)

Lua*_*aan 5

仅在填充相关缓冲区时才写入数据.您可以使用强制刷新tw.Flush(),这会将(部分)数据从中推TextWriter送到FileStream.

但请注意,这可能会对性能产生重大影响.缓存和缓冲非常重要,因为磁盘比RAM慢得多(并且RAM比CPU慢得多).确保成本是值得的,并考虑只是偶尔冲洗一次.