using (var fs = new FileStream(@"C:\Users\darren\Contacts\Desktop\staffs.txt", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
using (var sr = new StreamReader(fs, Encoding.Default))
{
string line;
while ((line = sr.ReadLine()) != null)
{
list.Add(line); // Add to list.
}
sr.Close();
fs.Close();
}
代码工作正常,直到我打开使用此文本文件的其他应用程序。谢谢
您可能正在处理锁定问题或者它可能与缓冲区有关,您可以尝试使用.flush()来查看是否有帮助。但最初的评论是正确的,文本文件对于多应用程序功能来说是不可靠的...你可以尝试类似LiteDb的东西,这可能会有所帮助......
代码工作正常,直到我打开使用此文本文件的其他应用程序
文件共享和访问设置仅确定您的流程如何愿意与他人共享。其他进程可以并且仍将要求锁定其打开的文件句柄。如果另一个进程锁定了该文件,则必须等到它被释放。没有追索权。