QT——删除文件夹(目录)下的所有内容

bool clearDir(QString path)
{
    if (path.isEmpty())
    {
        return false;
    }

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

    dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤

    QFileInfoList fileList = dir.entryInfoList(); // 获取所有的文件信息

    //遍历文件信息
    foreach(QFileInfo file, fileList)
    {
        // 是文件,删除
        if (file.isFile())
        {
            file.dir().remove(file.fileName());
        }
        else // 递归删除
        {
            clearDir(file.absoluteFilePath());
            file.dir().rmdir(file.absoluteFilePath());
        }
    }

    return true;
}

 

posted @ 2022-10-06 00:41  雾枫  阅读(685)  评论(0编辑  收藏  举报