在文本文件中保存动态变量而不关闭它

本文关键字:变量 动态 文本 文件 保存 | 更新日期: 2023-09-27 18:16:05

我需要尽可能快地将六个动态变量保存在一个文本文件中,这样如果电源关闭(或应用程序被杀死),我就可以访问所有变量的最后保存版本(而不仅仅是一些变量)。

在注册表中写入这六个变量需要~0.1 ms,这很好。然而,我宁愿避免修改注册表。

我在后台工作人员循环中尝试了这样的StreamWriter:

System.IO.StreamWriter file = new System.IO.StreamWriter("test.txt", false);
file.Write("Comma Separated Version of Variables in String");
file.Flush();
file.Close();

它需要更多的1 ms,这是我的应用程序缓慢!因此,我从循环中删除了第一行和最后一行:

System.IO.StreamWriter file = new System.IO.StreamWriter("test.txt", false);
while (true)
{  
   file.Write("Comma Separated Version of Variables in String");
   file.Flush();
}
file.Close();

它现在是优秀的(~0.007 ms)!但是,它将新字符串追加到文件中。如何覆盖文本文件的第一行(它只有一行)而不关闭它?

编辑:我也尝试了WriteAllText,但它像15比上面的代码慢!

在文本文件中保存动态变量而不关闭它

设置流的位置为0。

while (true)
{
    file.BaseStream.Seek(0, System.IO.SeekOrigin.Begin);
    file.WriteLine("Comma Separated Version of Variables in String");
    file.Flush();
}