Qt遍历目录的所有文件,并过滤后缀名

遍历目录下所有文件,并过滤后缀名,

最后打印完整的文件路径


直接上代码:


//判断路径是否存在
    QDir dir(path);
    if(!dir.exists())
    {
        return;
    }

    QStringList filters;
    filters << QString("*.xls");
    dir.setFilter(QDir::Files | QDir::NoSymLinks); //设置类型过滤器,只为文件格式
    dir.setNameFilters(filters);  //设置文件名称过滤器,只为filters格式(后缀为.jpeg等图片格式)

    int dir_count = dir.count();
    if(dir_count <= 0)
    {
        return;
    }

    QStringList string_list;
    //获取分隔符
    //QChar separator = QDir::separator();
    QChar separator = QChar('/');
    if(!path.contains(separator))
    {
        separator = QChar('\\');
    }
    QChar last_char = path.at(path.length()-1);
    if(last_char == separator)
    {
        separator = QChar();
    }

    foreach(QFileInfo mfi ,dir.entryInfoList())
    {
        if(mfi.isFile())
        {
            QString file_path = path + separator +  mfi.fileName();
            string_list.append(file_path);
        }
    }

    for (int i=0; i< string_list.size(); ++i)
    {
        qDebug() << string_list.at(i);
    }


---

你可能感兴趣的:(Qt遍历目录的所有文件,并过滤后缀名)