#include "CalcCode.h"#include <QFile>#include <QDir>#include <QVariantList>#include <QDebug>#include <QFileInfoList>#include <QTextStream>#include <QIODevice>CalcCode::CalcCode(QObject *parent):QThread(parent){}CalcCode::~CalcCode(){}void CalcCode::run(){m_list.clear();readFiles();emit getValue(m_list);}void CalcCode::readFiles(){QDir dir(m_path);calc(dir);}void CalcCode::setPath(const QString &path){m_path = path;}//迭代void CalcCode::calc(const QDir &dir){QStringList filters;filters<<"*";QFileInfoList list = dir.entryInfoList(filters,QDir::NoDotAndDotDot | QDir::AllEntries,QDir::NoSort);for(int i=0;i<list.length();i++){QFileInfo fileInfo = list.at(i);if(fileInfo.isDir()){//目录QDir tempDir(fileInfo.filePath());calc(tempDir);}else{//文件calcLine(fileInfo.filePath());}}}void CalcCode::calcLine(const QString path){QFile file(path);if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug()<<"open error";return;}//int num = 0;QTextStream stream(&file);QString line;while (stream.readLineInto(&line)) {num++;}QStringList fileList = file.fileName().split(".");QVariantMap map;map.insert("filePath",file.fileName());map.insert("lineNum",num);map.insert("type",fileList.at(fileList.length()-1));getOneValue(map); //itemm_list.append(map);file.close();}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。