如何快速计算大量文件

How to fast count large set of files

由于我要处理大量文件,所以我想展示一下这个过程的进度。

我知道使用 QDirIterator::next() 进行迭代是最好的选择,但首先我需要知道目录(及其所有子目录)中的文件总数。

计算大量文件的最快方法是什么?

使用下面的代码计算 "opt" 文件夹中的所有文件和目录

QDir dir("/opt/");
dir.count();

使用以下代码列出当前目录及其所有子目录中的 *.jpg 文件。

QDirIterator it("/opt/", QStringList() << "*.jpg", QDir::Files, QDirIterator::Subdirectories);
int count = 0;
while (it.hasNext()){
    qDebug() << it.next();
    count++;
}
qDebug() << "count:" << count;