C# 如何读取另一进程正在使用的文件?
我需要读取另一进程正在使用的文件。我如何在C#中实现这一点C# 如何读取另一进程正在使用的文件?,c#,C#,我需要读取另一进程正在使用的文件。我如何在C#中实现这一点 谢谢 如果另一个进程对该文件设置了独占锁,则无法读取该文件。另一个进程出于某种原因锁定了文件;不要试图击败其他程序。如果您认为其他程序不必要地锁定了文件,请与其他程序的作者联系 如果他们对文件设置了非独占锁定,则请求对文件的共享访问,而不是请求独占访问。如果您只需要对文件具有读取访问权限,则可以尝试以下操作: using (var stream = File.Open("log.txt", FileMode.Open, FileAcce
谢谢 如果另一个进程对该文件设置了独占锁,则无法读取该文件。另一个进程出于某种原因锁定了文件;不要试图击败其他程序。如果您认为其他程序不必要地锁定了文件,请与其他程序的作者联系
如果他们对文件设置了非独占锁定,则请求对文件的共享访问,而不是请求独占访问。如果您只需要对文件具有读取访问权限,则可以尝试以下操作:
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.
}
代码取自post。访问锁定文件的一种方法是使用 从VB.Net移植到C#,并修改它以满足您的需要应该相对容易 由于Eric Lippert在中提到的原因,您应该犹豫是否使用此解决方案