我正在尝试读取log4net的日志文件:
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)
我得到了关于该主题的Exception。我猜log4Net是对文件的独占锁定,但是,例如Notepad ++可以读取文件,我想在技术上可以做到这一点。
任何帮助?
答案 0 :(得分:70)
using (FileStream fs =
new FileStream(filePath,
FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
//...
http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx
您的日志可能是写锁定的,因此请尝试使用FileShare.ReadWrite。
答案 1 :(得分:13)
尝试添加FileShare选项,看看是否有帮助:
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
编辑:更正后的代码,而非FileShare.Read
,但FileShare.ReadWrite
可以解决问题(如Guillaume所示)。原因是:您要打开文件并允许其他人同时读取和写入文件。