初次接触C++ & Qt,函数写得不好请见谅 [哭笑]
头文件引入
#include <QDir>
递归删除空文件夹
// 递归删除空目录
bool deleteDirectorys(const QString& directory)
{
QDir sourceDir(directory);
if (!sourceDir.exists())
return true;
sourceDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
for (int i = 0; i < sourceDir.count(); i++)
{
QString path = sourceDir[i];
QDir childDir(directory + "/" + path);
QString childPath = childDir.path();
if (!childDir.rmdir(childPath) && childDir.count() > 0)
{
deleteDirectorys(childPath);
continue;
}
}
sourceDir.rmdir(directory);
return true;
}
递归生成文件夹
// 递归生成目录
bool UpdaterWindow::generateDirectorys(const QString& directory)
{
QDir sourceDir(directory);
if (sourceDir.exists())
return true;
QString tempDir;
QStringList directorys = directory.split("/");
for (int i = 0; i < directorys.count(); i++)
{
QString path = directorys[i];
tempDir += path + "/";
QDir dir(tempDir);
if (!dir.exists() && !dir.mkdir(tempDir))
return false;
}
return true;
}