将动态变量保存在文本文件中,而不使用C#

时间:2015-10-06 02:29:27

标签: c# file overwrite

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

在注册表中编写这六个变量需要~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倍!

1 个答案:

答案 0 :(得分:2)

将流的位置设置为0.

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