C# получать уведомления, когда другой процесс вносит изменения в текстовый файл
Я хотел бы получать уведомления в моем приложении C#, когда другой процесс вносит изменения в определенный текстовый файл.
Причина этого заключается в том, что я запускаю сторонний инструмент из своего приложения, чтобы получить некоторую информацию об устройстве. этот инструмент сохраняет текущее состояние устройства в файл ini. Это займет некоторое неопределенное время, но я хочу отреагировать и прочитать информацию о состоянии, как только она будет доступна.
Как я могу это сделать?
2 ответа:
Можно использовать класс System.IO.FileSystemWatcher. Что-то вроде этого:
string fileToWatch = @"C:\MyFile.txt"; fileSystemWatcher = new FileSystemWatcher(fileToWatch); void fileSystemWatcher_Changed(object sender, FileSystemEventArgs e) { Debug.WriteLine(e.Name + " has changed"); }
Вы можете следить за изменениями файлов, использующие Системы.ИО.Класса filesystemwatcher
Также смотрите уведомление при изменении файла? для получения дополнительной информации.