IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Qt读取路径下所有文件或指定类型文件(含递归、判断是否为空、创建路径) -> 正文阅读

[C++知识库]Qt读取路径下所有文件或指定类型文件(含递归、判断是否为空、创建路径)

//遍历获取文件夹下的所有文件

void Dialog::GetAllFiles(const QString path, QFileInfoList &fileInfoList)
{
    QDir dir(path);
    foreach(QFileInfo info,dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs))
    {
        //qDebug()<<"dir:" << info.filePath();
        GetAllFiles(info.filePath(),fileInfoList);
    }

    foreach(QFileInfo info,dir.entryInfoList(QDir::Files))
    {
        fileInfoList.append(info);
        qDebug()<< "文件:" << info.filePath();
    }
}

// 获取当前文件夹下的指定类型文件(非递归)

void Dialog::GetDirFiles(const QString dirPath)
{
    QDir *dir = new QDir(dirPath);

    // 判断路径是否存在,不存在则创建
    if(!dir->exists(dirPath))
    {
        // 创建路径文件,可多级
        dir->mkpath(dirPath);
    }

    // 判断文件夹内容是否为空
    QFileInfoList fileInfoList;
    GetAllFiles(dirPath, fileInfoList);
    if(fileInfoList.size() == 0)
    {
        QMessageBox::information(this,"提示","文件路径下不存在任何文件!");
        return;
    }

//    判断文件是否存在
//    QFile fileName(filePath);
//    if(!fileName.exists())
//    {
//        return true;
//    }

    QStringList filter;
    QList<QFileInfo> *fileInfo = new QList<QFileInfo>(dir->entryInfoList(filter));

    for(int i = 0; i < fileInfo->count(); i++)
    {
        if(fileInfo->at(i).fileName().split(".").back() != "cpp")
        {
            continue;
        }

        qDebug()<< fileInfo->at(i).filePath();
        qDebug()<< fileInfo->at(i).fileName();
    }
}

// 获取当前文件夹下的所有文件夹(非递归)

void Dialog::GetAllDirs(const QString path)
{
    QDir dir(path);
    foreach(QFileInfo info,dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs))
    {
        qDebug()<<"path:" << info.filePath();
        qDebug()<<"name:" << info.fileName();
    }
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:17:37  更:2022-04-22 18:20:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:09:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码