Звучит так, будто вы хотите записать в свой файл журнала, когда ваш файл журнала читается извне, или что-то в этом роде.Если это так, существует значение NotifyFilters, LastAccess.Убедитесь, что это установлено в качестве одного из флагов в вашем свойстве FileSystemWatcher.NotifyFilter.Изменение последнего времени доступа затем вызовет событие Changed в FileSystemWatcher.
В настоящее время FileSystemWatcher не позволяет напрямую различать чтение и изменение;они оба запускают событие Changed на основании «изменения» на LastAccess.Таким образом, было бы невозможно следить за чтением большого количества файлов.Однако вы, похоже, знаете, какой файл вы просматриваете, поэтому, если у вас есть объект FileInfo для этого файла и FileSystemWatcher сгенерировал событие Changed, вы можете получить новое и сравнить значения LastAccessTime.Если время доступа изменилось, а LastWriteTime - нет, ваш файл только читается.
Теперь, проще говоря, изменения, внесенные в файл во время чтения, не будут сразу отображаться вдругое приложение, и при этом вы не сможете «добраться первым», заблокировать файл и записать его до того, как они его увидят.Таким образом, вы не можете использовать FileSystemWatcher для «перехвата» запроса на чтение и показа контента, который вы хотите видеть в этом приложении.Пользователь другого приложения может увидеть только что написанное, если приложение также просматривает файл и перезагружает файл.Это вызовет другое событие Changed, вызывая бесконечный цикл, пока другое приложение продолжает перезагружать файл.
Вы также получите событие Changed для чтения и записи.Открытие файла в текстовом редакторе (практически любой подойдет), внесение некоторых изменений, а затем сохранение вызовут два события Changed, если вы ищете изменения в Last Access Time.Первый отключится, когда файл откроется редактором;в то время вы, возможно, не сможете сказать, что произойдет запись, поэтому, если вы ищете доступ к файлу только для чтения, тогда вы SOL.