#include <QDir>
#include <QDirIterator>
#include <iostream>
void clearDir(const QString& path)
{
QDir m_dir(path);
if(m_dir.isEmpty())
{
qDebug() << "临时文件文件夹" << path << "为空";
m_dir.removeRecursively();
return;
}
// 第三个参数是QDir的过滤参数,这三个表示收集所有文件和目录,且不包含"."和".."目录。
// 因为只需要遍历第一层即可,所以第四个参数填QDirIterator::NoIteratorFlags
QDirIterator DirsIterator(path, QDir::Files | QDir::AllDirs | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags);
while(DirsIterator.hasNext())
{
if (!m_dir.remove(DirsIterator.next())) // 删除文件操作如果返回否,那它就是目录
{
QDir(DirsIterator.filePath()).removeRecursively(); // 删除目录本身以及它下属所有的文件及目录
}
}
m_dir.removeRecursively();
}
05-28
1805
09-04
310
06-11