QT 删除文件、文件夹与创建文件

删除文件夹及内部文件

在使用QT时,有时我们想删除文件,有时我们想删除文件夹,而有时我们却想将文件夹及其内部所有内容全部删除,可能文件夹中嵌套文件夹。因为没有一种可以直接一步全部删除的API,所以就需要我们自己通过递归,编写接口来实现。

//删除文件夹(包括文件夹中的文件及目录)
bool DelDir(const QString &path)
{
	if (path.isEmpty()){
		return true;
	}

	QDir dir(path);
	if (!dir.exists()){
		return true;
	}

	dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤 
	QFileInfoList fileList = dir.entryInfoList();			 // 获取所有的文件信息 
	//遍历文件信息 
	foreach(QFileInfo file, fileList)
	{ 
		if (file.isFile()){ // 是文件,删除 
			file.dir().remove(file.fileName());
		}
		else{				// 递归删除 
			DelDir(file.absoluteFilePath());
		}
	}

	return dir.rmpath(dir.absolutePath()); // 删除文件夹
}

这里传入的文件夹路径,可以是绝对路径,也可以是相对路径。

创建文件夹

创建文件夹就相对简单很多。

QDir dir_Log("./result");
//创建该文件夹
dir_Log.mkpath(".");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值