我有一个c#windows表单应用程序,它将结果写入文本文件。这是通过在各自的时间点击不同的按钮来完成的,所有按钮都运行功能以将特定文本添加到文件中。
文本文件一旦创建(按照我的用户的要求),就可以通过按钮点击打开查看,唯一的问题是,当下一个按钮点击尝试写入文件时,它会抛出异常,因为文件已被其他进程使用。
理想情况下,我想要做的是运行一个函数来检查文件是否打开,如果发现文件是打开的,则关闭它。
我已经了解了堆栈溢出和其他各种网站,但找不到与此概念特别相关的任何内容!
如果有人可以提供任何建议,我真的很感激。
答案 0 :(得分:3)
使用函数File.Open("", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)
(您可以根据需要更改参数)以允许共享文件访问模式。
您可以使用最简单的
using (var f = File.Open("file.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
{
using (var writer = new StreamWriter(f))
{
writer.Write(data);
}
}