QT笔记——QDir,QFileInfo类
#include<QDir>
QDir这是一个获取路径类
常用的方法有:
路径是否为空 isEmpty()
QString str = "D:/QT5.12test/test/main.cpp";QDir dir(str);if (dir.isEmpty())//"路径不为空"
路径是否存在 exists()
QString str = "D:/QT5.12test/test/main.cpp";QDir dir(str);if (dir.exists()) //"路径不存在" 因为这里的路径是到文件名的
获取当前路径 QDir::current()
qDebug() << "QDir::current() :" << QDir::current();
//QDir::currentPath() : "D:/msvcTest/QDirTest/QDirTest"
获取当前路径下的所有文件 entryInfoList()
qDebug() << "entryInfoList() :" << dir.entryInfoList();
entryInfoList() : (QFileInfo(D:\QT5.12test\test.), QFileInfo(D:\QT5.12test\test…), QFileInfo(D:\QT5.12test\test\main.cpp), QFileInfo(D:\QT5.12test\test\test.pro), QFileInfo(D:\QT5.12test\test\test.pro.user), QFileInfo(D:\QT5.12test\test\test.pro.user.419f24b), QFileInfo(D:\QT5.12test\test\text.ini), QFileInfo(D:\QT5.12test\test\widget.cpp), QFileInfo(D:\QT5.12test\test\widget.h), QFileInfo(D:\QT5.12test\test\widget.ui))
获取路径 / 后面的名称,如果只有盘符,就返回空 dirName()
QString str = "D:/QT5.12test/test/main.cpp";QDir dir(str);qDebug() << "dirName() :" << dir.dirName();//dirName() : "main.cpp"QString str = "D:/QT5.12test/test";QDir dir(str);qDebug() << "dirName() :" << dir.dirName();//dirName() : "test"QString str = "D:/";QDir dir(str);qDebug() << "dirName() :" << dir.dirName();//dirName() : ""
创建路径的两种方式
//文件夹不存在就创建 2 前面的文件夹必须都存在,否则创建失败
QString str2 = QString::fromLocal8Bit("D:/test/1/2");QDir dir2(str2);
if(!dir2.exists())
{dir2.mkdir(str2 );
}
//创建文件夹名为 2 的文件夹
//如果1文件夹不存在,也同时创建1文件夹,在创建2文件夹
QString str2 = QString::fromLocal8Bit("D:/test/1/2");QDir dir2(str2);
if(!dir2.exists())
{dir2.mkpath(str2 );
}
//没有的文件夹,都创建
#include<QFileInfo>
QFileInfo这是一个获取文件信息的类
删除文件夹(不包括本地文件夹)
void QDirTest::DeleteFolder(const QString& dirPath)
{if (dirPath.isEmpty())return;QDir dir(dirPath);if (!dir.exists())return;dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);QFileInfoList fileList = dir.entryInfoList();foreach(QFileInfo file, fileList){if (file.isFile()){file.dir().remove(file.fileName());}else{DeleteFolder(file.absoluteFilePath());file.dir().rmdir(file.absoluteFilePath());}}
}
删除文件夹 ,包括本地文件夹
void QDirTest::DeleteFolder2(const QString& dirPath)
{if (dirPath.isEmpty()) {return;}QDir dir(dirPath);if (!dir.exists()) {return;}dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);QFileInfoList fileList = dir.entryInfoList();foreach(QFileInfo file, fileList){if (file.isFile()){file.dir().remove(file.fileName());}else{DeleteFolder2(file.absoluteFilePath());}}dir.rmdir(dir.absolutePath());
}
QT笔记——QDir,QFileInfo类相关推荐
- QT的QFileInfo类的使用
详细说明 QFileInfo类提供与系统无关的文件信息. QFileInfo提供有关文件在文件系统中的名称和位置(路径),其访问权限以及它是目录链接还是符号链接等信息.文件的大小和上次修改/读取时间也 ...
- QFileInfo 类【官翻】
文章目录 详述 性能问题 公共函数 创建及析构 目录 路径.文件名及后缀 时间信息 缓存 属性 类型 访问权限 比较 静态公用函数 相关的非成员 QFileInfo 类 QFileInfo类提供与系统 ...
- Qt笔记 之 QListWidget控件的使用
Qt提供QListWidget类列表框控件用来加载并显示多个列表项.QListWidgetItem类就是列表项类.一般列表框控件中的列表项有两种加载方式: 一种是由用户手动添加的列表项,比如音乐播放器 ...
- 05黑马QT笔记之自定义槽函数
05黑马QT笔记之自定义槽函数 1 自定义槽函数其实不难,没什么好说的,注意以下几点便可. 自定义参函数注意事项(Qt5): * 1)自定义槽函数可以是类成员函数(用得最多).全局普通函数.静态函数. ...
- 02黑马QT笔记之完全手写Hello World
02黑马QT笔记之完全手写Hello World 1 步骤: 1 新建项目. 2 选择其他项目->空项目. 3 在空项目中添加QT +=widgets //代表使用窗口基类. 4 右击项目名字- ...
- QT笔记第0篇__Qt基本介绍
QT笔记第0篇__Qt基本介绍 一.引言 二.Qt简介 三.特点: 四.相关网址 五.参考资料 一.引言 由于算法的实现过程中常常需要制作一些demo来进行功能展示,最开始打算用mfc,于是看了一段几 ...
- Qt 笔记:Qt中的IO操作
Qt中IO操作的处理方式 -Qt通过统一的接口简化了文件与外部设备的操作方式 -Qt中的文件被看做一种特殊的外部设备 -Qt中的文件操作与外部设备的操作相同 IO操作中的关键函数接口 -打开设备:bo ...
- QT 009 QSqlDatabase 数据库类的使用
前言:本文对QT的构建数据库连接类的帮助文件做了一点小结,可以看作是翻译吧: Qt 5.9 Qt SQL C++ Classes QSqlDatabase Qt 5.9.0 Reference Doc ...
- 【java笔记】File类(2):获取,判断,创建,删除,遍历目录方法
[java笔记]File类(1)概述,静态成员,构造方法_m0_52043808的博客-CSDN博客 获取功能方法: public String getAbsolutePath():返回此File的绝 ...
最新文章
- tcp报文格式_面试必备TCP(一):三次握手
- TensorFlow数据归一化
- 谈谈 ES6 的 Promise 对象
- Ubuntu16.04下CUDA 9.0 + cuDNN v7.0 + tensorflow 1.6.0(GPU)环境搭建
- 浅谈块级元素和行级元素的相对定位和绝对定位问题
- 录制视频显示的视频角度和拍摄角度保持一致
- java long 二进制输出格式_算法:java打印int类型的二进制格式
- spring 自定义注解及使用
- CSS 居中 可随着浏览器变大变小而居中
- 大工《画法几何与机械制图》课程设计大作业离线作业
- 海思3559a平台 MIPI YUV 驱动开发
- flask专题-小说网站开发四(完结)
- 身份证上传尺寸太大如何缩小?改照片尺寸的简单方法
- 《壁纸 : 手机高清壁纸大全》EULA条款协议
- Yy And WJM
- 什么是架构?架构的本质和作用!
- 基于ESP32的智能家庭健康系统
- 栈 括号匹配问题(C语言)
- [教程]北京迅为iMX6ULL开发板上配置 AP 热点
- ruoyi-cloud 服务器端idea启动报错Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (defau
热门文章
- 更换IP地址方式简介。
- Hadoop启动错误:WARNING log4j.properties is not found. HADOOP_CONF_DIR may be incomplete
- 全球及中国左旋肉碱富马酸盐行业发展趋势与需求形势预测报告(2022-2027年)
- 使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
- 【pandas之数据清洗和处理和空值处理】
- AIO-3588JQ 8K AI工业主板
- 跟我学c++中级篇——concepts的几个应用
- 浅谈Linux PCI设备驱动(一)
- Mat 的介绍和使用
- LSTM 长短期记忆