写点什么

qt 实现遍历文件夹

作者:用户10086
  • 2022 年 7 月 17 日
  • 本文字数:809 字

    阅读完需:约 3 分钟


前言

在项目中需要获取本地内容,根据逻辑,我们需要把文件夹打开,查找文件夹中的文件,并且将文件中的内容或取出来,但是想起来容易动手就不一定了。接下来介绍通过遍历文件夹,将文件夹中的内容存储起来,最终可以在项目上使用文件中的数据。

第一步:获取文件夹的目录,将目录作为参数,获取文件夹下的所有文件文件夹。

       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()) { //存储到相对于的位置 } }
复制代码

总结

文件夹的遍历应用非常的广泛,只要是对文件夹操作的,大多数都需要文件夹的遍历以及查找文件获取内容。后续也许多关于文件夹使用的方法,欢迎大家观看。

发布于: 刚刚阅读数: 4
用户头像

用户10086

关注

还未添加个人签名 2022.07.01 加入

一个辣椒爱好者

评论

发布
暂无评论
qt 实现遍历文件夹_qt_用户10086_InfoQ写作社区