1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【QT】遍历文件夹和文件目录 并过滤和获取文件信息 后缀名 前缀名

【QT】遍历文件夹和文件目录 并过滤和获取文件信息 后缀名 前缀名

时间:2022-06-11 02:25:49

相关推荐

【QT】遍历文件夹和文件目录 并过滤和获取文件信息 后缀名 前缀名

【QT】遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名

前言:

需要在特定目录或磁盘下查找特定文件

一、筛选目录

(一)单一目录下遍历,筛选特定文件

QDir dir("./SaveFiles");QFileInfoList list = dir.entryInfoList();

(二)设备所有磁盘中遍历

QFileInfoList DirInfoList = QDir::drives();

二、遍历目录和文件

在容器List中遍历每个文件信息(QFileInfo fileInfo),文件信息包含:

文件路径fileInfo.filePath();

文件全名称fileInfo.fileName();

文件前缀fileInfo.baseName();

文件后缀fileInfo.suffix();

文件是否存在fileInfo.exists();

文件大小fileInfo.size();

是否是文件fileInfo.isFile();

是否是目录fileInfo.isDir();

是否是连接符fileinfo.isSymLink()

/typedef struct fileNamePath{QString strFileName;QString strFilePath;}sfileNamePath;//.cpp///qint64 beginTime = ui->beginDateTimeEdit->dateTime().toTime_t();//先将QDateTime时间转UTC时间,在计算秒数qint64 endTime= ui->endDateTimeEdit->dateTime().toTime_t();QDir dir("./SavedFiles");dir.setFilter(QDir::Files);QStringList filters;filters<<"*txt"; //遍历筛选特定文件(*.txt)dir.setNameFilters(filters);QFileInfoList list = dir.entryInfoList();QStringList filelist;QList<QStringList>searchFileList_list;//创建容器添加文件的名称、创建时间、大小、类型foreach(QFileInfo fileinfo,list){int index_p = fileinfo.fileName().indexOf(".");QString fileName = fileinfo.fileName().left(index_p);//获取文件名前缀filelist <<fileinfo.fileName() <<fileinfo.suffix();qint64 fileTime = QDateTime::fromString(fileName,"yyyy-MM-dd hh-mm-ss").toTime_t();//QString转QdateTimeif(fileTime >=beginTime && fileTime <= endTime){QStringList fileInforList;fileInforList.append(fileName);QString createTime = fileinfo.created().toString("yyyy/MM/dd hh:mm:ss");//文件时间fileInforList.append(createTime);QString kind = fileinfo.suffix();//文件类型fileInforList.append(kind);int size;QString sizeStr;size = int((fileinfo.size() + 1023) /1024);//文件大小sizeStr = QString::number(size,'g',2) +"KB";fileInforList.append(sizeStr);searchFileList_list.append(fileInforList);}}

锦上添花:

QStringList fileter;fileter << "*.um" << "*.stl";QFileInfoList fileList = dir.entryInfoList(fileter, QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);

参考链接:

/article/4663320

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。