qt 实现遍历文件夹
在项目中需要获取本地内容,根据逻辑,我们需要把文件夹打开,查找文件夹中的文件,并且将文件中的内容或取出来,但是想起来容易动手就不一定了。接下来介绍通过遍历文件夹,将文件夹中的内容存储起来,最终可以在项目上使用文件中的数据。
第一步:获取文件夹的目录,将目录作为参数,获取文件夹下的所有文件文件夹。
QDir dir(dirPath);
QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs 这三个参数需要都写上,如果只写QDir::NoDotAndDotDot 可能会导致我呢见以及文件夹的隐藏无法查看。
QFileInfoList是用于获得当前文件夹下所有文件或者文件夹的基本信息
QDir::entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort)
这是entryInfoList的使用方法及其参数,而其中you“=”的参数是默认参数,在使用过程中可填可不填,根据自己的需求所定。
entryInfoList他的返回类型就是QFileInfoList,可以通过他存储,方便之后的操作。
第二步 获取列表中的文件文件夹
将刚才获取到的文件文件夹列表进行遍历,进入循环确定当前是文件夹还是文件,fileInfo.isDir() 判断当前是否为文件夹,如果是文件夹就会继续进入循环,直到查询到是文件为止!
fileInfo.isFile() 判断当前是否是文件,如果是文件的话进入内部操作文件,将文件的内容存入相对应的位置。
foreach (auto fileInfo, fileInfoList) {
if(fileInfo.isDir())
{
getFileListUnderDir(fileInfo.absoluteFilePath());
}
if(fileInfo.isFile())
{
//存储到相对于的位置
}
}
总结
文件夹的遍历应用非常的广泛,只要是对文件夹操作的,大多数都需要文件夹的遍历以及查找文件获取内容。后续也许多关于文件夹使用的方法,欢迎大家观看。
- 点赞
- 收藏
- 关注作者
评论(0)