我只想遍历.xml文件(所选文件夹及其子目录下的所有文件),这在QDirIterator
中是可能的吗?
QDirIterator iter( rootDir, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
QString fileName;
while(iter.hasNext() )
{
qDebug() << iter.next();
fileName = iter.fileName();
// now I have to check if fileName is indeed a .xml extension
}
从上面的代码中可以看出,如果我的迭代器可以跳转到.xml文件,而我不需要检查loop..is中的文件扩展名,那么是否有可能呢?
发布于 2015-02-11 19:49:18
其中一个QDirIterator的构造函数允许nameFilters参数:
QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )
构造一个可以在路径上迭代的QDirIterator,使用nameFilters和过滤器。
nameFilters
参数没有得到适当的文档说明,但很有可能像在QDir::setNameFilters中那样工作。
QDirIterator it(rootdir, QStringList() << "*.xml", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}
https://stackoverflow.com/questions/28463090
复制相似问题