資源簡介
計算代碼行數(shù)
代碼片段和文件信息
#include?“CalcCode.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
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(filtersQDir::NoDotAndDotDot?|?QDir::AllEntriesQDir::NoSort);
????for(int?i=0;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(“l(fā)ineNum“num);
????map.insert(“type“fileList.at(fileList.length()-1));
????getOneValue(map);???//item
????m_list.append(map);
????file.close();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-27?02:46??calcCodeLine\
?????文件????????1603??2018-03-27?02:46??calcCodeLine\CalcCode.cpp
?????文件?????????558??2018-03-27?02:46??calcCodeLine\CalcCode.h
?????文件??????????67??2018-03-27?02:46??calcCodeLine\README.md
?????文件?????????408??2018-03-27?02:46??calcCodeLine\calcCodeLine.pro
?????文件???????18226??2018-03-27?02:46??calcCodeLine\calcCodeLine.pro.user
?????文件???????23516??2018-03-27?02:46??calcCodeLine\calcCodeLine.pro.user.28d51d4
?????文件?????????164??2018-03-27?02:46??calcCodeLine\main.cpp
?????文件????????1844??2018-03-27?02:46??calcCodeLine\widget.cpp
?????文件?????????523??2018-03-27?02:46??calcCodeLine\widget.h
?????文件????????1433??2018-03-27?02:46??calcCodeLine\widget.ui
?????文件??????????40??2018-03-27?02:46??calcCodeLine\說明.txt
- 上一篇:qt寫的記事本
- 下一篇:Wemos D1 mini阿里云MQTT例程
評論
共有 條評論