QT 如何使用 QDirIterator 访问子目录中的特定目录
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
我有三个月的数据要处理,我需要访问目标文件夹,并且只需要目标文件夹。它们包含我们需要查看的文件,其他一些文件夹也有我们不需要查看的 .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;
如何遍历目录但只获取目标文件夹中的文件?
可能尝试
如下所述。这是粗略的代码,可能需要更多验证。
//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());
}
}
相关文章:
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 使用MakeFile和子目录
- 使用C 列出目录中的文件,而不是递归,只有文件和无子目录
- 使用 CMAKE 如何停止"Debug"和"Release"子目录
- QT 如何使用 QDirIterator 访问子目录中的特定目录
- Cmake 和 Qt5:在不同的子目录中使用 Qt5 的不同组件
- 一种使用 boost 和 c++ 列出目录和子目录中所有文件的方法
- Cmake-让一个子目录使用自己的makefile
- 使用 LLVM 的 libc++ 时,__1 符号从何而来?
- 使用win32阅读子目录
- 在std::cout之后使用std::cin时,换行符从何而来
- 使用子目录中的包含进行构建
- 使用 QDir 的过滤器列出子目录中的文件
- 如何在 rstudio 上为在子目录内的 src 文件夹中使用 C/C++ 文件的包构建和加载共享库
- 为什么以及在何处在C++中使用引用和指针
- 使用boost库c++搜索目录和子目录中的文件
- 关于在一个有很多子目录的项目上使用make的反馈
- 如何使用cmake在子目录中构建库
- 基例如何影响使用递归函数的哪些行
- 使用(nobase_)pkginclude_HEADERS在子目录中安装头文件