文件 正由另一进程使用,因此该进程无法访问此文件
“文件 正由另一进程使用,因此该进程无法访问此文件”
看到此问题要明确一点:有两个stream对象对同一个文件发生了操作。如下:
using (fs = new FileStream(targetfilepath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
{
if (File.Exists(targetfilepath)) File.Delete(targetfilepath);
fs.Write(exceldata, 0, exceldata.Length);
}
{
if (File.Exists(targetfilepath)) File.Delete(targetfilepath);
fs.Write(exceldata, 0, exceldata.Length);
}
上面的代码有问题吗?有问题!
在using块中fs只有在运行到最后一个花括号时在关闭。所以在没有关闭前,又使用File.Exists对同一个文件进行操作,所以仍然会报上面的错误。修改方案有两个:把if语句移除using块,或者在执行if语句之前关闭fs(fs.Close())
posted on 2011-09-29 17:03 我每天都在进步o(∩_∩)o... 阅读(1592) 评论(0) 编辑 收藏 举报