使用sqlite数据库qt c ++同步文件

时间:2014-07-03 12:00:38

标签: c++ qt sqlite file filesystems

我有很多目录应该与sqlite db同步。数据库应该将文件内容存储在这些目录中。 为此,我创建了一个不断寻找目录变化的线程(最低优先级)。但是这个线程使用100%的一个核心的CPU。 有更好的方法来同步文件吗?也许是一个在创建或删除文件时发出信号的监听器?

谢谢, 关心安德烈

1 个答案:

答案 0 :(得分:3)

您可以使用QFileSystemWatcher。

来自Qt Docs:

QFileSystemWatcher类提供了一个用于监视文件和目录以进行修改的接口。 QFileSystemWatcher通过观察指定路径列表来监视文件系统中文件和目录的更改。 文件被修改,重命名或从磁盘中删除时会发出fileChanged()信号。同样,当修改或删除目录或其内容时,会发出directoryChanged()信号。请注意,一旦文件从磁盘重命名或从磁盘中删除,QFileSystemWatcher就会停止监视文件,一旦文件从磁盘中删除,就会停止监视。