解决.NET编程复制被占用的文件共享冲突的方法

2019-10-15  本文已影响0人  达哥傻乐

在编程用下列代码试图复制被别的程序打开的文件的时候,可能会出现如下错误:
-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)

上一篇 下一篇

猜你喜欢

热点阅读