QT 判断文件夹是否存在 若存在则递归获取所有文件的文件名称
时间: 2023-07-29 22:07:57 浏览: 96
可以使用QDir类来判断文件夹是否存在并获取所有文件的文件名称。代码如下:
```cpp
#include <QDir>
#include <QDebug>
void getAllFileNames(QString path)
{
QDir dir(path);
if (!dir.exists()) {
qDebug() << "Folder does not exist!";
return;
}
dir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
QFileInfoList fileList = dir.entryInfoList();
foreach (QFileInfo fileInfo, fileList) {
if (fileInfo.isDir()) {
getAllFileNames(fileInfo.filePath());
} else {
qDebug() << fileInfo.fileName();
}
}
}
```
在以上代码中,首先判断文件夹是否存在,如果不存在,则输出提示信息并返回。如果存在,则设置过滤条件为只包括文件和文件夹,不包括 "." 和 ".." 目录。然后获取当前目录下的所有文件和文件夹信息,并遍历每一个信息。如果是文件夹,则递归调用函数获取该文件夹中的所有文件名;如果是文件,则输出该文件的文件名。
阅读全文