文件只读访问,无论锁定(C#)
如何打开(使用c#)已打开的文件(例如,在MS Word中)? 我想如果我打开文件进行读取访问,例如
FileStream f= new FileStream('filename', FileMode.Open, FileAccess.ReadWrite);
我应该成功,但我得到一个例外:
“该进程无法访问该文件,因为它已被锁定…”
我知道必须有一种方法来读取文件而不管其上是否有任何锁定,因为我可以使用Windows资源管理器复制文件或使用其他程序(如记事本)打开它,即使它在WORD中打开也是如此。
但是,似乎C#中的File IO类都不允许我这样做。 为什么?
您想设置FileAccess = Read和FileShare = ReadWrite。 这是一篇很棒的文章(以及对原因的解释):
http://coding.infoconex.com/post/2009/04/How-do-I-open-a-file-that-is-in-use-in-C.aspx
您的代码使用的是FileAccess.Read * Write *标志。 尝试阅读。