[英]How to iterate through only certain type of files using QDirIterator
我想迭代.xml文件(所选文件夹及其子目录下的所有文件), QDirIterator
可以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文件,而不是在循环中检查文件扩展名。这可能吗?
QDirIterator的一个构造函数允许使用nameFilters参数:
QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )
构造一个可以使用nameFilters和过滤器迭代路径的QDirIterator。
nameFilters
参数没有正确记录,但它有可能像QDir :: setNameFilters一样工作 。
QDirIterator it(rootdir, QStringList() << "*.xml", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.