Qt程序,删除文件及文件夹(递归删除)。
1. //删除文件夹
2. bool MainWindow::DelDir(const QString &path)
3. {
//如果路径为空直接返回
4. if (path.isEmpty()){
5. return false;
6. }
7. QDir dir(path);
8. if(!dir.exists())
9. {
10. return true;
11. }
//设置过滤,过滤掉点文件
12. dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
// 获取所有的文件信息
13. QFileInfoList fileList = dir.entryInfoList();
14. foreach (QFileInfo file, fileList)
15. {
//遍历文件信息
16. if (file.isFile())
17. { // 是文件,删除
18. file.dir().remove(file.fileName());
19. }else
20. { // 递归删除
21. DelDir(file.absoluteFilePath());
22. }
23. }
24. return dir.rmpath(dir.absolutePath()); // 删除文件夹
25. }