admin 管理员组

文章数量: 887032


2024年1月9日发(作者:批处理文件的扩展名为)

QT中最简实现获取文件夹所有文件及过滤文件

在Qt中获取文件夹的所有文件并过滤文件,可以使用QDir和QFileInfo类来实现。以下是一个简单的实现:

首先,需要包含QtCore和QDir头文件:

```cpp

#include

#include

```

接下来,可以使用QDir::entryInfoList(函数来获取文件夹中的所有文件和文件夹的信息。该函数会返回一个QFileInfoList对象,其中包含了文件夹中所有文件和文件夹的信息。

```cpp

QDir dir("folder_path");

QFileInfoList fileList = nfoList(;

```

其中,"folder_path"是要获取文件的文件夹的路径。

接下来,需要对文件进行过滤,可以使用QFileInfo::isFile(函数来判断文件是否为普通文件。可以结合使用QFileInfo::suffix(函数来获取文件的后缀名,并进行文件过滤。

```cpp

foreach (QFileInfo fileInfo, fileList)

if (()

QString fileName = me(;

QString suffix = (;

//进行文件过滤

if (suffix == "txt" , suffix == "pdf")

//处理符合要求的文件

}

}

```

以上代码会遍历QFileInfoList对象中的每个文件和文件夹,如果是文件,则获取文件名和后缀名。然后可以根据自己的需求进行文件过滤,例如只处理后缀名为"txt"或"pdf"的文件。

完整的示例代码如下:

```cpp

#include

#include

int main(int argc, char *argv[])

QCoreApplication a(argc, argv);

QDir dir("folder_path");

QFileInfoList fileList = nfoList(;

foreach (QFileInfo fileInfo, fileList)

if (()

QString fileName = me(;

QString suffix = (;

//进行文件过滤

if (suffix == "txt" , suffix == "pdf")

//处理符合要求的文件

qDebug( << "File Name:" << fileName;

}

}

}

return (;

```

在上面的示例代码中,使用QDebug输出了文件名,你可以根据具体

需求来对文件进行进一步处理。


本文标签: 文件 文件夹 过滤 进行 获取