【发布时间】:2020-06-02 16:20:23
【问题描述】:
我的目录结构如下:Root 目录包含一些子目录,其中放置了许多.txt 文件或一些sub-directories 再次包含具有相同扩展名的不同文件。
├───Root
│ ├───SubDir1
└───file1.txt
│ ├───SubDir2
│ ├───SubDir3
│ └───SubSubDir1
└───file1.txt
└───file2.txt
│ └───SubDir4
│ └───SubSubDir1
└───SubSubDir2
└───file1.txt
我想将每个目录中的所有第一个文件路径保存在QStringList 中。例如:
/Root/SubDir1/file1.txt
/Root/SubDir3/SubSubDir1/file1.txt
/Root/SubDir4/SubSubDir2/file1.txt
以下代码为我提供了一个目录或子目录中的所有文件路径,但不是每个文件中第一个文件的路径。
QDir rootFolder("/root");
QStringList list;
QDirIterator dirIter(rootFolder.absolutePath(), QDir::AllEntries | QDir::NoSymLinks |
QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
while(dirIter.hasNext())
{
dirIter.next();
if(QFileInfo(dirIter.filePath()).isFile())
{
if(QFileInfo(dirIter.filePath()).suffix() == "txt")
{
qDebug()<<"File Path: " <<dirIter.filePath();
list.append(dirIter.next());
qDebug()<<"List: " <<list;
}
}
}
【问题讨论】: