cimforreduceloss/testHasttable/recursedir.cpp

50 lines
865 B
C++
Raw Permalink Normal View History

#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);
}