Qt获取文件夹下的文件个数(过滤和不过滤的区别)
在文件夹下过滤时可以得到确切的文件个数,而不过滤的会比确切的文件个数多2个
1.文件不过滤
代码
QDir *dir=new QDir("D://capture");QStringList filter;
// filter<<"*.png";
// dir->setNameFilters(filter); //过滤文件类型QList<QFileInfo> *fileInfo=new QList<QFileInfo>(dir->entryInfoList(filter));int count=fileInfo->count(); //文件个数qDebug()<<"count == " << count;
文件夹的图片
结果:
实际当前文件夹的文件个数是4个,但实际打印的是6个,比确切的文件多了2个 有大佬知道这是为什么?麻烦在评论区告知
2.文件过滤
代码:
QDir *dir=new QDir("D://capture");QStringList filter;filter<<"*.png";dir->setNameFilters(filter); //过滤文件类型QList<QFileInfo> *fileInfo=new QList<QFileInfo>(dir->entryInfoList(filter));int count=fileInfo->count(); //文件个数qDebug()<<"count == " << count;
结果:
可以得到确切的文件个数结果
如果想设置多种文件过滤,只需在后面继续加就好了
filter << "*.jpg" << "*.png" << "*.bmp" << "*.gif";