如何读取另一个进程正在使用的文件?

Rya*_*yan 2 c#

我需要读取另一个进程正在使用的文件.我怎样才能在C#中实现这一目标?

谢谢!

Eri*_*ert 13

如果其他进程对文件进行了独占锁定,那么您无法读取它.另一个进程锁定文件是有原因的; 不要试图打败其他程序.如果您认为其他程序不必要地锁定文件,请与其他程序的作者联系.

如果他们在文件上放置了非独占锁,则请求对文件的共享访问,而不是请求独占访问.


Mar*_*ius 5

如果您只需要对该文件具有读访问权限,则可以尝试以下操作:

using (var stream = File.Open("log.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var reader = new StreamReader(stream))
{
    // Actions you perform on the reader.
}
Run Code Online (Sandbox Code Playgroud)

代码取自这篇文章。