我目前正在使用QFileSystemWatcher监视目录,以查看其中包含的文件的任何更改。这项工作很棒,但只有当我用某些程序更改这些文件时才会这样做。
例如,当我使用Qt Creator更改文件时,QFileSytemWatcher会正确触发。如果我使用Notepad ++或Eclipse以完全相同的方式编辑和保存完全相同的文件,则不会触发文件被更改。
我很确定这与OS /程序如何处理写入缓冲有关。遗憾的是,我的程序无法控制写入的执行方式;任何程序都可以更改我正在监视的文件。因此,我可以想到可靠地检测文件更改的唯一方法是使用常规计时器来扫描文件更改(这比我观看文件的操作系统效率低得多)。有没有更好的方法来做到这一点?任何帮助表示赞赏。