在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();
原始代码源