50 lines
865 B
C++
50 lines
865 B
C++
|
|
#include "recursedir.h"
|
||
|
|
|
||
|
|
RecurseDir::RecurseDir()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
RecurseDir::~RecurseDir()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
QStringList RecurseDir::getFiles()
|
||
|
|
{
|
||
|
|
return this->filePathList;
|
||
|
|
}
|
||
|
|
|
||
|
|
bool RecurseDir::lsDir(const QString& dir)
|
||
|
|
{
|
||
|
|
QDir _dir(dir);
|
||
|
|
QStringList nameFilter;
|
||
|
|
nameFilter<<"*";
|
||
|
|
QStringList fileList=_dir.entryList(nameFilter,QDir::NoDotAndDotDot|QDir::AllEntries);
|
||
|
|
for(QStringList::iterator ite=fileList.begin();
|
||
|
|
ite!=fileList.end();
|
||
|
|
ite++)
|
||
|
|
{
|
||
|
|
QString absPath=dir+'/'+*ite;
|
||
|
|
if(QFileInfo(absPath).isDir())
|
||
|
|
{
|
||
|
|
if(!this->lsDir(absPath))
|
||
|
|
{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
this->filePathList.push_back(absPath);//只保存文件
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
bool RecurseDir::setDir(const QString& dir)
|
||
|
|
{
|
||
|
|
return this->lsDir(dir);
|
||
|
|
}
|
||
|
|
|