QDir类提供了一种与平台无关的遍历目录并获得有关文件信息的方法。总结了一下它的用法如下:
1:如何根据一个目录查到它的子目录及它所拥有的文件:
- int MainWindow::findAllFileAndDir(const QString &dirPath)
- {
- QDir dir(dirPath);
- int result = 0;
- foreach (QFileInfo fileInfo, dir.entryInfoList(QDir::Dirs | QDir::Files))
- {
- QString strName = fileInfo.fileName();
- if ((strName == QString(".")) || (strName == QString("..")))
- continue;
- if (fileInfo.isDir())
- {
- QString str = dirPath + "/" + strName + "/";
- result++;
- result += findAllFileAndDir(str);
- }
- else
- {
- result++;
- }
- }\
- return result;
- }
2:删除文件及文件夹的方法:
删除文件夹:
- QDir dir(dirPath);
- dir.rmdir(strFileName);
删除文件:
- QFile::remove(strFileName);
- QFile file(strFile);
- file.setPermissions(QFile::WriteOwner);