Qt 文件管理 文件夹

1 创建文件夹

//folder 是路径,可以是绝对或相对路径
bool PathHelper::createDirectory(QString folder)
{

	// 检查目录是否存在,若不存在则新建
	QDir dir;
	if (!dir.exists(folder))
	{
		bool res = dir.mkpath(folder);
		return true;
	}
	else 
	{
		return false;
	}
}

2删除文件夹

bool PathHelper::DelDir(const QString  name)
{
	PathHelper::intial();
	QString path = productPath + "/" + name;
	if (path.isEmpty()) {
		return false;
	}
	QDir dir(path);
	if (!dir.exists()) {
		return true;
	}
	bool flag =RemoveDirectory(path.toStdWString().c_str());
	//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 flag; // 删除文件夹
}

3获取一个目录下所有文件夹的名字

void PathHelper::GetAllFileFolder(std::vector<QString>& folder)
{
	PathHelper::intial();

	QDir dir(productPath);
	dir.setFilter(QDir::Dirs);
//遍历
	foreach(QFileInfo fullDir, dir.entryInfoList())
	{
		if (fullDir.fileName() == "." || fullDir.fileName() == "..") continue;
		folder.push_back(fullDir.baseName());

		// this->GetAllFileFolder(fullDir.absoluteFilePath(), folder);
	}


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值