即使遇到“另一个进程正在使用”异常,如何读取文件?

在VB.NET或C#中,我正在尝试读取另一个程序正在使用的文本文件的内容(这是关键,实际上,我无法停止该程序或它停止写入该文本文件,并且我想定期读出另一个程序的文本文件中当前的内容。

这是我正在使用的代码(VB.NET)

Dim strContents As String

Dim objReader As StreamReader

objReader = New StreamReader(FullPath)

strContents = objReader.ReadToEnd()

objReader.Close()

或在C#中:

var objReader = new StreamReader(FullPath);

var strContents = objReader.ReadToEnd();

objReader.Close();

但是,以上内容引发IO异常“该进程无法访问文件’file.txt’,因为它正在被另一个进程使用。” 在这种情况下有什么解决方法吗?

回答:

FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

StreamReader logFileReader = new StreamReader(logFileStream);

while (!logFileReader.EndOfStream)

{

string line = logFileReader.ReadLine();

// Your code here

}

// Clean up

logFileReader.Close();

logFileStream.Close();

原始代码源

以上是 即使遇到“另一个进程正在使用”异常,如何读取文件? 的全部内容, 来源链接: utcz.com/qa/400801.html

回到顶部