qt遍历路径文件夹中的文件并判断是否为pdf文件
时间: 2024-02-20 13:02:05 浏览: 169
可以在上一个示例的基础上,增加一个判断文件扩展名的步骤,来判断文件是否是PDF文件。以下是一个示例:
```cpp
QDir directory("/path/to/folder");
QFileInfoList files = directory.entryInfoList();
foreach (QFileInfo fileInfo, files) {
if (fileInfo.isFile() && fileInfo.suffix() == "pdf") {
qDebug() << fileInfo.absoluteFilePath();
}
}
```
这个示例中,首先创建一个QDir对象,并指定要遍历的文件夹的路径。然后,使用entryInfoList()函数获取文件夹中的文件列表,并将其保存为QFileInfoList对象。接下来,使用foreach循环迭代QFileInfoList对象,对每个文件进行检查,如果是文件并且扩展名是"pdf",则使用absoluteFilePath()函数获取文件的绝对路径并输出。
相关问题
qt遍历路径文件夹中的文件
你可以使用QDir类来遍历路径文件夹中的文件,以下是一个简单的示例:
```cpp
QDir directory("/path/to/folder");
QFileInfoList files = directory.entryInfoList();
foreach (QFileInfo fileInfo, files) {
if (fileInfo.isFile()) {
qDebug() << fileInfo.absoluteFilePath();
}
}
```
这个示例中,首先创建一个QDir对象,并指定要遍历的文件夹的路径。然后,使用entryInfoList()函数获取文件夹中的文件列表,并将其保存为QFileInfoList对象。接下来,使用foreach循环迭代QFileInfoList对象,对每个文件进行检查,如果是文件,则使用absoluteFilePath()函数获取文件的绝对路径并输出。
Qt遍历当前文件夹所有文件
以下是一个示例代码,使用Qt遍历当前文件夹所有文件:
```
#include <QDir>
#include <QDebug>
void traverseFiles(const QDir& dir)
{
QStringList filters;
filters << "*.txt"; //可以根据需要修改过滤条件,这里只列出txt文件
QFileInfoList list = dir.entryInfoList(filters, QDir::Files);
foreach(QFileInfo fileInfo, list)
{
qDebug() << fileInfo.filePath();
}
QStringList subDirList = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
foreach(QString subDir, subDirList)
{
traverseFiles(QDir(dir.filePath(subDir)));
}
}
int main(int argc, char *argv[])
{
QDir dir(".");
traverseFiles(dir);
return 0;
}
```
上述代码中,`traverseFiles`函数用于遍历当前文件夹中的所有文件和子文件夹。首先,使用`entryInfoList`函数获取当前文件夹中所有符合过滤条件(这里是txt文件)的文件,然后遍历输出每个文件的路径。接着,使用`entryList`函数获取当前文件夹中所有子文件夹的名称,然后递归调用`traverseFiles`函数遍历每个子文件夹。
阅读全文