3

我目前正在使用 QFileSystemWatcher 来监视目录中包含的文件的任何更改。这很好用,但只有当我用某些程序更改这些文件时。

例如,当我使用 Qt Creator 更改文件时,QFileSytemWatcher 会正确触发。如果我使用 Notepad++ 或 Eclipse 以完全相同的方式编辑和保存完全相同的文件,则不会触发文件被更改。

我相当肯定这与操作系统/程序如何处理写缓冲有关。不幸的是,我的程序无法控制写入的完成方式。任何程序都可以更改我正在监视的文件。因此,我能想到的可靠检测文件更改的唯一方法是使用常规计时器来扫描文件更改(这比操作系统对我来说监视文件的效率要低得多)。有没有更好的方法来做到这一点?任何帮助表示赞赏。

4

0 回答 0