我想迭代.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
}
Run Code Online (Sandbox Code Playgroud)
从上面的代码可以看出,如果我的迭代器只能跳转到.xml文件,而不是在循环中检查文件扩展名.这可能吗?
其中的QDirIterator的构造允许nameFilters参数:
QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )
Run Code Online (Sandbox Code Playgroud)
构造一个可以使用nameFilters和过滤器迭代路径的QDirIterator.
该nameFilters参数没有正确记录,但很有可能它在QDir :: setNameFilters中起作用.
QDirIterator it(rootdir, QStringList() << "*.xml", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6266 次 |
| 最近记录: |