检查文件是否打开,如果打开则关闭
Check if file is open, and close if it is
我有一个将结果写入文本文件的 c# windows 表单应用程序。这是通过在各自的时间点击不同的按钮来完成的,所有 运行 功能都可以将特定文本添加到文件中。
文本文件创建后可以通过单击按钮打开以供查看(根据我的用户的要求),唯一的问题是当下一个按钮单击尝试写入文件时,它会抛出异常因为该文件已被另一个进程使用。
理想情况下,我想做的是运行一个检查文件是否打开的函数,如果发现打开就关闭它。
我浏览了 stack overflow 和其他各种网站,但找不到与此概念特别相关的内容!
如果有人能提供任何建议,我将不胜感激。
使用函数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);
}
}
我有一个将结果写入文本文件的 c# windows 表单应用程序。这是通过在各自的时间点击不同的按钮来完成的,所有 运行 功能都可以将特定文本添加到文件中。
文本文件创建后可以通过单击按钮打开以供查看(根据我的用户的要求),唯一的问题是当下一个按钮单击尝试写入文件时,它会抛出异常因为该文件已被另一个进程使用。
理想情况下,我想做的是运行一个检查文件是否打开的函数,如果发现打开就关闭它。
我浏览了 stack overflow 和其他各种网站,但找不到与此概念特别相关的内容!
如果有人能提供任何建议,我将不胜感激。
使用函数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);
}
}