在编程用下列代码试图复制被别的程序打开的文件的时候,可能会出现如下错误:
-2147024864: 文件“d:\Temp\S\新建 Microsoft Excel 工作表 - 副本.xlsx”正由另一进程使用,因此该进程无法访问此文件。
//使用流的方式打开文件
FileStream srcStream= new FileStream(srcFile, FileMode.Open, FileAccess.Read);
解决方案好简单:使用FileStream构造函数的另一个重载,加上进程间共享文件的方式为FileShare.ReadWrite,如下所示:
//使用流的方式打开文件
FileStream srcStream= new FileStream(srcFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
上面以C#代码为例演示,其实其它.NET代码是一样的道理,适当修改即可。
达叔傻乐(darwin.zuo@163.com)
网友评论