Qt学习-QFileInfoList遍历文件夹以及过滤文件
//递归遍历文件夹QFileInfoList ListWidget::GetFileList(QString path){QDir dir(path);//列出dir(path)目录文件下所有文件和目录信息,存储到file_list容器QFileInfoList file_list = dir.entryInfoList(QDir::Files | QDir::
·
//递归遍历文件夹
QFileInfoList ListWidget::GetFileList(QString path)
{
QDir dir(path);
//列出dir(path)目录文件下所有文件和目录信息,存储到file_list容器
QFileInfoList file_list = dir.entryInfoList(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
//列出dir(path)目录下所有子文件夹
QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
//进行子文件夹folder_list递归遍历,将内容存入file_list容器
for(int i= 0; i != folder_list.size(); i++)
{
QString name = folder_list.at(i).absoluteFilePath();
QFileInfoList child_file_list = GetFileList(name);
file_list.append(child_file_list);
}
return file_list;
}
过滤文件,筛选出文件夹下jpg格式的文件
QStringList fileList;
QString filter;
//遍历文件夹获取文件信息,存入到容器file_info_list
QFileInfoList file_info_list = GetFileList("File"); //使用File相对路径
//GetFileList("C:\\Users\\Administrator\\Desktop\\File") //绝对路径表示
//foreach遍历容器file_in_list,进行过滤筛选,将过滤结果输入到fileList容器
//筛选PPT文件
/*foreach(variable, container)是Qt定义的一个宏,
它的作用是遍历QList容器类变量container,并依次把列表项存放在变量variable中。
*/
foreach(QFileInfo fileinfo, file_info_list)
{
//_filter = _fileinfo.completeSuffix();
filter = fileinfo.suffix(); //后缀名
if( (filter != "jpg") && (filter != "jpeg") &&(filter != "png") )
{
continue;
}
fileList.append(fileinfo.absoluteFilePath());
}
更多推荐
已为社区贡献1条内容
所有评论(0)