我正在访问由第三方工具更新的文件,该工具会持续从com-port捕获数据并填充文件。 对于这个文件,在填充数据时,我想对内容进行一些检查并记录我的目的状态。
而且,为了进行检查,我使用 FileInfo.Length
操作来了解文件的长度,我还使用 File.ReadAllText(Filename).Contains(SearchText)
来检查是否存在文件中提供了必需的关键字(正在不断更新)。
我的查询是对运行文件使用FileInfo.Length
和File.ReadAllText
是否会影响第三方工具执行的更新操作。 由于这些检查,第三方工具正在更新的文件是否会丢失数据?
此外,是否会对此文件的更新延迟等产生影响?
答案 0 :(得分:3)
在另一个进程写入文件时读取文件是安全的。该进程将具有写锁定,并且您的进程将具有读锁定。
此外,是否会对此文件的更新延迟等产生影响?
可能影响写作过程的表现。考虑存储的IOPS。如果您的存储空间过载,您使用它进行的任何操作都将与您的写入过程竞争,从而可能会降低其速度。
答案 1 :(得分:1)
简短回答,不。
只读操作不会影响其他写入操作。