폴더를 반복해서 지정한 파일을 찾습니다.

1494 단어
최근에 폴더 아래에 지정된 접두사 이름의 모든 파일을 차례로 검색하는 작은 예를 썼습니다. 예를 들어 사용할 수 있습니다.적어 놓는 동시에 훗날 스스로 찾아보는 것도 편리하다.traversalfile.h
#ifndef TRAVERSALFILE_H
#define TRAVERSALFILE_H
#include <QtCore>
#include <QtGui>

class Traversalfile
{
public:
    Traversalfile();
    QList<QString> findfile(const QString &path);
};

#endif // TRAVERSALFILE_H
traversalfile.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)에서 하나하나를 조작합니다.

좋은 웹페이지 즐겨찾기