我的应用程序解析日志文件,但在尝试解析当天的文件时,我会收到一个错误,指出该文件正在被另一个进程使用。这个日志文件目前正在写入,并且可以通过记事本访问,但不能通过我的应用程序访问。
当前代码:
Stream stream = new FileStream(fileToRead, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(stream);
我也尝试了这个方法,但没有成功:
Stream stream = new FileStream(fileToRead, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
如何修改代码以读取正在被其他进程使用的文件。复制日志文件不是解决方案,因为日志文件大小和应用程序性能问题。
FileShare.Write
。FileShare
表示您希望其他用户对文件进行的操作。当然,如果其他进程在打开文件时没有指定(相当于)FileShare.Read
,这仍将失败。 - Damien_The_Unbeliever