qt 遍历文件夹下文件及目录

前言

今天做了一个功能需要用qt 遍历文件夹下文件及目录,下方是遍历方法,记录一下。

正文如下

获取当前路径目录

// QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs 去除"." ".."

QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
        }
    }

遍历当前路径下目录

QStringList DirOptUtils::getFileListUnderDir(const QString &dirPath)
{
    QStringList fileList;
    QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
            getFileListUnderDir(fileInfo.absoluteFilePath());
        }
    }
    return fileList;
}

遍历当前路径下文件

QStringList DirOptUtils::getFileListUnderDir(const QString &dirPath)
{
    QStringList fileList;
    QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {

            getFileListUnderDir(fileInfo.absoluteFilePath());
        }

        if(fileInfo.isFile())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
        }
    }
    return fileList;
}

 

效果展示

版权声明:
作者:小何
链接:https://ligo100.cn/houduanjishu/qt/234.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录