递归遍历文件夹查找指定文件
2013-02-25 21:16
561 查看
最近写了一个递归搜索一个文件夹下指定后缀名的所有文件的小例子,大家可以根据例子改动为自己所用。写下来的同时,也是为日后自己查着方便。
traversalfile.h
以上这个例子是找出所有的json文件,并且把每个文件的地址传到pathlist里面,可以用pathlist.at(i)来对每一个进行操作。
traversalfile.h
#ifndef TRAVERSALFILE_H #define TRAVERSALFILE_H #include <QtCore> #include <QtGui> class Traversalfile { public: Traversalfile(); QList<QString> findfile(const QString &path); }; #endif // TRAVERSALFILE_Htraversalfile.cpp
#include "traversalfile.h" #include <QtCore> #include <QtGui> #include <QVariant> #include <QDebug> Traversalfile::Traversalfile() { } QList<QString> Traversalfile::findfile(const QString &path) { QList<QString> static pathlist; QDir dir(path); // if (!dir.exists()) // return false; dir.setFilter(QDir::Dirs|QDir::Files); dir.setSorting(QDir::DirsFirst); QFileInfoList list = dir.entryInfoList(); int i=0; do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="."|fileInfo.fileName()=="..") { i++; continue; } bool bisDir=fileInfo.isDir(); if(bisDir) { findfile(fileInfo.filePath()); } else{ if(fileInfo.suffix()=="json"){ pathlist<<fileInfo.filePath(); //qDebug()<<pathlist; } } i++; }while(i<list.size()); return pathlist; }
以上这个例子是找出所有的json文件,并且把每个文件的地址传到pathlist里面,可以用pathlist.at(i)来对每一个进行操作。
相关文章推荐
- 非递归遍历文件夹下指定类型的文件-Java栈实现
- PHP递归遍历指定文件夹内的文件实现方法
- 非递归遍历指定文件夹下的所有文件及其子文件夹
- 递归遍历删除指定文件夹下的文件
- C# 递归遍历文件夹 查找文件并处理
- Linux driver 遍历指定文件夹查找文件
- 对指定文件夹进行递归遍历,将所有文件存到QStringList里。两种方法
- Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。
- java 遍历指定目录下的文件夹并查找包含指定关键字的文件
- Python脚本- 递归遍历文件夹,获取指定扩展名文件,修改文件内容
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- 遍历文件夹 非递归 只收集指定后缀的文件
- 使用递归方式遍历指定磁盘路径下的文件及文件夹
- 非递归遍历指定文件夹下的所有文件及其子文件夹 [11/29/2010 更新]
- Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。
- PHP递归遍历指定文件夹内的文件实现方法
- 递归遍历文件夹查找文件
- CFileFind类遍历查找文件夹下的所有文件,或者指定文件,并使用ofstream输出到制定文本
- Android递归遍历文件夹中指定格式文件
- 递归遍历文件夹复制指定后缀文件