qt 扫描文件夹中的文件_Qt之遍历文件夹(经典详解)

本文详细介绍了使用Qt进行文件夹扫描的两种方法,包括遍历下一层文件和级联遍历子孙文件夹。推荐采用QDirIterator结合过滤器的方式,以提高效率和代码可读性。同时,文章提到了QFileInfo类在获取文件信息中的应用,如文件大小、类型和修改时间等。
摘要由CSDN通过智能技术生成

关于Qt操作文件夹、文件的知识用途较多,比如遍历下一层乃至所有子孙文件、文件夹,获取它们的一些信息(大小、类型、最后更改时间等)。当然,也可以进行级联删除。

首先看简单的:

一、Qt遍历文件夹下一层的文件:

方式1:

void ImageTree::addFolderImages(QString path)

{

//判断路径是否存在

QDir dir(path);

if(!dir.exists())

{

return;

}

dir.setFilter(QDir::Files | QDir::NoSymLinks);

QFileInfoList list = dir.entryInfoList();

int file_count = list.count();

if(file_count <= 0)

{

return;

}

QStringList string_list;

for(int i=0; i

{

QFileInfo file_info = list.at(i);

QString suffix = file_info.suffix();

if(QString::compare(suffix, QString("png"), Qt::CaseInsensitive) == 0)

{

QString absolute_file_path = file_info.absoluteFilePath();

string_list.append(absolute_file_path);

}

}

}

分析:遍历文件的下一层,对于系统而言包括:文件夹、文件、快捷方式,使用setFilter即可过滤。通过entryInfoList则可以获取过滤后所得到的文件夹下的文件信息列表,遍历文件通过操作QFileInfo可得到所需的文件详细信息(大小、类型、后缀等)。

方式2:

void ImageTree::addFolderImages(QString path)

{

//判断路径是否存在

QDir dir(path);

if(!dir.exists())

{

return;

}

QStringList filters;

filters<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值