Qt文件操作(一)Qt删除文件、文件夹#QDir类的使用mkdir、mkpath、remove、rmdir、rmpath

Qt 文件操作

Qt中的QDir类提供了“强大的”文件操作支持。
顺便提一下很常用的创建目录 :QDir::mkdir和QDir::mkpath
当然这两个是有区别的
QDir::mkdir 举个栗子D:/123/abc,假如123文件夹不存在,那么必定失败
QDir::mkpath 如果123不存在,那么Qt先创建123,再去创建abc

Qt 4下的删除

再来看一下删除,Qt提供了QDir::remove , QDir::rmdir , QDir::rmpath
QDir::remove 用于删除文件
QDir::rmdir , QDir::rmpath 删除文件夹

附上官方定义:

bool QDir::rmdir(const QString &dirName) const
Removes the directory specified by dirName.
The directory must be empty for rmdir() to succeed.
Returns true if successful; otherwise returns false.


bool QDir::rmpath(const QString &dirPath) const
Removes the directory path dirPath.
The function will remove all parent directories in dirPath, provided that they are empty. This is the opposite of mkpath(dirPath).
Returns true if successful; otherwise returns false.

敲黑板,划重点。 看不懂英文?上图。
在这里插入图片描述
在这里插入图片描述
换他的兄弟上!
在这里插入图片描述
结论:QDir::rmdir , QDir::rmpath必须目录非空才能被删除,rmpath还会顺带把父级目录也给删了
这里是不是和mkdir 、 mkpath的区别有点相似呢?

那么删除文件就有了:遍历文件夹 -> 挨个remove -> rmdir

从Qt5 起,有了新的方法

直到遇见了强大Qt 5

QDir::removeRecursively()   删除整个文件夹

这样一来,麻麻就再也不用担心我不会遍历目录了

是不是觉得豁然开朗,我也是这么想的。

下一篇文章,简单谈一下removeRecursively()
Qt文件操作(二)Qt删除文件、文件夹#慎用QDir::removeRecursively()remove()危险用法

顺便骗个赞。
原创文章,转载请注明来源

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值