版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Chorzen/article/details/82831868
// input: findPath: 指定文件夹
// format: 指定格式
// receiveFilePath: 存储所有指定后缀名文件的路径(绝对路径+文件名)
bool MainWindow::GetAllFormatFilePath(QString &findPath, QString format = "*.txt", \
QList<QString>& receiveFilePath)
{
QDir *dir = new QDir(findPath);
if(!dir->exists())
return false;
QStringList filter;
filter << format;
QList<QFileInfo> *dirInfoList = new QList<QFileInfo>(dir->entryInfoList(QDir::Dirs));
QList<QFileInfo> *fomatInfoList = new QList<QFileInfo>(dir->entryInfoList(filter));
for (int i = 0; i < dirInfoList->count(); i++) {
if(dirInfoList->at(i).fileName() == "." || dirInfoList->at(i).fileName() == "..")
continue;
QString dirTmp = dirInfoList->at(i).filePath();
GetAllFormatFilePath(dirTmp, format, receiveFilePath);
}
for (int i = 0; i < fomatInfoList->count(); i++) {
receiveFilePath << fomatInfoList->at(i).filePath();
}
delete dirInfoList;
delete dir;
return true;
}