“文件已经在使用错误”来了,但只有当它在Excel中打开

我正在使用Filehelpers来读取日志文件。 为了安全起见,我想确保它不会抛出“File Already in use”错误。 日志parsing过程启动时,日志logging器的清理可能仍然存在,

我正在使用filehelpers“ReadFileAsDT”方法并传递它的文件名。

我经历了源​​代码,发现它是以只读模式打开文件是正确的。

var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize, FileOptions.SequentialScan); this.Init(stream, encoding, detectEncodingFromByteOrderMarks, bufferSize); 

但是,仍然只是为了确保我保持在Excel中打开日志文件。 并运行日志parsing器。 它给了“使用中的文件错误”。

如果我在记事本,写字板或记事本++中保持打开文件,则不会出现此错误。

excel打开文件的方式有什么特别之处吗?

Excel在文件上维护一个活动的读/写锁。 对于打开的任何文件都是如此,并且阻止其他应用程序在一半时间内读取/写入它们。

就个人而言,如果您想同时打开日志文件,请使用记事本,写字板或个人最喜欢的function,因为它具有许多高级function,例如更换文件时重新加载文件,TextPad。