[英]QT How to access specific directory within subdirectories with a QDirIterator?
我有數千個文件需要處理,目錄結構如下:
YYYY_MM_DD
XXX
XXX
XXX
Target
.hdr files
XXX
XXX
more .hdr files but do not want to process
YYYY_MM_DD
XXX
XXX
XXX
Target
.hdr files
XXX
XXX
more .hdr files but do not want to process
我有三個月的數據要處理,我需要訪問 Target 文件夾,並且只需要訪問 Target 文件夾。 它們包含我們需要查看的文件,其他一些文件夾也包含我們不需要查看的 .hdr 文件。
起初,我使用了一個QDirIterator
例如:
QDirIterator it(inputDir, QStringList() << "*.hdr", QDir::Files, QDirIterator::Subdirectories);
然而,在運行我的程序時,我意識到這也會抓取其他.hdr
文件,我不需要處理這些文件。 這是我編寫的用於查找所有.hdr
文件的代碼:
QDirIterator it(inputDir, QStringList() << "*.hdr", QDir::Files, QDirIterator::Subdirectories);
std::vector<std::string> files;
while(it.hasNext())
{
files.push_back(it.next().toStdString());
}
return files;
如何遍歷目錄但只獲取 Target 文件夾中的文件?
可能會嘗試如下所述。 這是粗略的代碼,可能需要更多的驗證。
//FILTER THE SPECIFIC TARGET DIRECTORY.
QStringList filterFolder = {"TARGETFOLDERNAME"};
QDir directory("BASE DIRECTORY OF SEARCH");
QFileInfoList foldersTobeIterated = directory.entryInfoList(filterFolder);
//ITERATE THE FILTERED DIRECTORIES.
std::vector<std::string> files;
for(auto folder : foldersTobeIterated)
{
QDirIterator it(folder.absoluteFilePath(), QStringList() <<"*.txt", QDir::Files,QDirIterator::Subdirectories);
while(it.hasNext())
{
files.push_back(it.next().toStdString());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.