我正在给文本文件写一些数据.我正在使用此代码:
using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.ReadWrite))
{
using (TextWriter tw = new StreamWriter(fs))
{
tw.WriteLine("sample_data");
}
}
当记事本打开文件时,我的应用程序可以写入其中.当MS Excel打开此文件时,我收到以下错误:进程无法访问文件myfile.csv,因为它正由另一个进程使用.什么可能导致这种情况,我该如何解决这个问题?
解决方法:
记事本打开文件,读入整个内容,然后关闭文件.您甚至可以删除在记事本中打开的文件.
另一方面,只要显示文件,Excel就会保持文件打开状态.可以在Excel中为excel格式文件启用一些特殊的共享工具.在那种情况下,我认为它是非普通的打开.否则Excel将独占打开文件并保持打开状态.
如果在独占模式下其他人已经打开了该文件,则在打开时指定共享选项并不重要.