如何让代码变得更简洁

简约至上

 

文件 正由另一进程使用,因此该进程无法访问此文件

“文件 正由另一进程使用,因此该进程无法访问此文件”

看到此问题要明确一点:有两个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);
                }

上面的代码有问题吗?有问题!

在using块中fs只有在运行到最后一个花括号时在关闭。所以在没有关闭前,又使用File.Exists对同一个文件进行操作,所以仍然会报上面的错误。修改方案有两个:把if语句移除using块,或者在执行if语句之前关闭fs(fs.Close())

posted on 2011-09-29 17:03  我每天都在进步o(∩_∩)o...  阅读(1558)  评论(0编辑  收藏  举报

导航