QDir 遞歸獲取路徑下的所有子文件

QFileInfoList TableToExcelDialog::getFileList(const QString& sPath )

{

QFileInfoList result;

QDir dir(sPath );

dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks | QDir::Dirs | QDir::NoDotAndDotDot);

dir.setSorting(QDir::Time | QDir::Reversed);

QFileInfoList fileInfoList = dir.entryInfoList();

foreach (QFileInfo fileInfo, fileInfoList)

{

if (fileInfo.isDir())

{

result.append(getFileList(fileInfo.filePath()));

}

else

{

result.append(fileInfo);

}

}

return result;

}

QDir::NoDotAndDotDot  這個篩選條件一定要加上, 否則結果 會多出兩個  "."  , ".." 的文件夾,在遞歸的時候會死循環

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章