我的应用程序必须使用File.WriteAllText每秒数千次将文本写入文件。每次只有不到10个字节(确切地说是一个数字字符串)。我通过使用任务管理器结束应用程序的过程来测试我的应用程序。总有一天我会得到一个空文件。
我认为函数在写入文件之前会清空该文件。这个过程已经在中间结束了。
哪一种方法更好,更可靠,可以将一个小文本保存到一个文件中?
long ServerSequence
{
get
{
lock (_serverSeqFlag)
{
return _serverSequence;
}
}
set
{
lock (_serverSeqFlag)
{
_serverSequence = value;
File.WriteAllText(_DayOutputPath + "server.seq", _serverSequence.ToString());
}
}
}发布于 2022-03-02 08:40:04
文件不是高频读写的好选择。每秒写入文件数千次是没有意义的。其他进程很难读取它,因为您的写入过程占用了该文件。为什么不使用数据库呢?或者,您可以将数据放在内存中的变量中,并在进程结束时将其写入文件。对于你的场景来说,红色也许是个不错的选择。
https://stackoverflow.com/questions/71319484
复制相似问题