我正在编写一个在文件上运行的程序(仅读取文件),而另一个程序正在编写该文件(我无法控制它使用事件,而我不喜欢知道文件的内容)。我想知道该程序何时完成写作,以停止我的程序在文件上运行。我使用了这两种方法,但我不知道哪一种是可靠的,而且性能更高:
1-将文件重命名为另一个名称,如果成功,则将其重命名为原始名称。
2-flush文件,如果文件大小已有一段时间(例如5秒),则停止操作。
哪个更好?有什么更好的方法(更可靠和更多的性能)?
我正在为C 使用Windows 7和QT5.2(或Visual Studio)。
qt提供了一个名为QFileSystemWatcher
的类,该类允许您监视文件和目录。