【发布时间】:2017-09-07 12:55:12
【问题描述】:
这一行:
using (FileStream fs = File.Open(src, FileMode.Open, FileAccess.Read, FileShare.Read))
抛出:
System.IO.IOException:进程无法访问文件“X”,因为 它正被另一个进程使用。
当我将这一行替换为:
File.Copy(src, dst, true);
using (FileStream fs = File.Open(dst, FileMode.Open, FileAccess.Read, FileShare.Read))
它有效。
但是为什么我可以复制,它肯定会读取文件的全部内容,而不能直接读取文件?有解决办法吗?
【问题讨论】:
-
如果你使用
FileShare.ReadWrite会怎样?如果另一个进程具有写访问权限,如果您只允许共享读访问权限,您的请求将失败。 -
@SamiKuhmonen 是的!但为什么?哦,我明白了...
-
如果此问题没有重复项,请不要删除它。这是一个有效的问题。
标签: c# .net windows file-io filestream