我有一个第 3 方应用程序,它定期从我的 C#.Net 应用程序读取输出。
由于某些限制,我只能将输出写入文件,然后由第 3 方应用程序读取。
我每次都需要覆盖同一个文件的内容。
我目前正在 C# 中使用
Loop
{
//do some work
File.WriteAllText(path,Text);
}
3rd 方应用程序定期检查文件并读取内容。这很好用,但会使 CPU 使用率非常高。用文本编写器替换 File.WriteAllText 解决了 CPU 使用率高的问题,但随后我的文本被附加到文件而不是覆盖文件。
有人能指出我可以在 C# 中保持文件打开并定期覆盖其内容而没有太多开销的正确方向吗?
编辑:我通过选择每 20 次循环迭代而不是每次循环迭代写入文件来修复 CPU 使用率。下面给出的所有答案都有效,但会产生与关闭文件和重新打开相关的开销。谢谢