Qt递归遍历文件夹和文件目录

用Qt实现递归遍历一个文件夹以及该文件夹下的子目录,并输入文件路径.

实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
bool FindFile( const QString & path)
{
     QDir dir(path);
     if (!dir.exists())
         return false ;
     dir.setFilter(QDir::Dirs|QDir::Files);
     dir.setSorting(QDir::DirsFirst);
     QFileInfoList list = dir.entryInfoList();
     int i=0;
     do {
         QFileInfo fileInfo = list.at(i);
         if (fileInfo.fileName()== "." |fileInfo.fileName()== ".." )
         {
             i++;
             continue ;
         }
         bool bisDir=fileInfo.isDir();
         if (bisDir)
         {
             qDebug()<<fileInfo.filePath();
             FindFile(fileInfo.filePath());
         }
         else {
             qDebug()<<fileInfo.filePath();
         }
         i++;
     } while (i<list.size());
     return true ;
}

这样调用:

1
FindFile( "D:/" );

即可输出D盘下面的所有文件路径。

 

你可能感兴趣的:(Qt递归遍历文件夹和文件目录)