QDir
最后更新于:2022-04-02 02:12:34
[TOC]
## 概述
```
QDir(const QString & path = QString()) // 指定路径,可以时相对或绝对路径
void QDir::setPath(const QString & path) //重新设置路径
bool QDir::makeAbsolute() // 相对转绝对路径
QString QDir::path() const //可能是相对路径,也可能是绝对路径
QString QDir::absolutePath() const //一定返回绝对路径
bool QDir::exists(const QString & name) const //参数里既可以判断文件夹,也可以判断文件的存在性
bool QDir::exists() const //不带参数,判断 QDir 对象自身路径是否为存在的文件夹,只管文件夹!
bool QDir::cdUp() // 切换到父路径
// 在当前路径下
bool QDir::mkdir(const QString & dirName) const //创建新目录
bool QDir::rename(const QString & oldName, const QString & newName) //重命名旧的目录
bool QDir::rmdir(const QString & dirName) const //删除一个空目录
bool QDir::mkpath(const QString & dirPath) const // 递归创建路径
bool QDir::rmpath(const QString & dirPath) const //递归删除
// 属性判断
bool QDir::exists(const QString & name) const //子文件夹或文件是否存在
bool QDir::isReadable() const //QDir对象当前目录是否有读权限,Linux系统有些目录普通用户不能读取
bool QDir::isAbsolute() const //QDir对象当前目录是否为绝对路径
bool QDir::isRelative() const //QDir对象当前目录是否为相对路径
bool QDir::isRoot() const //QDir对象当前目录是否为文件系统根
void QDir::refresh() const //QDir 对象会对先前的文件系统状态有个缓存,运行时文件改变,可以刷新下
void setNameFilters(const QStringList &nameFilters); // 子条目名称的过滤串
bool QDir::setCurrent(const QString & path) //设置工作路径
currentPath() // 当前工作路径,可更改
homePath() // 用户home 路径,不可更改
rootPath() // win为C, linux /
tempPath() // 临时路径 , win为"C:/Users/idcpj/AppData/Local/Temp"
QCoreApplication::applicationDirPath() // 可执行文件所在路径
QFileInfoList QDir::drives() // win:为 "c:,D:",linux 为"/"
QString QDir::canonicalPath() const // 真实路径返回最简绝对路径,否则为空
QString QDir::cleanPath(const QString & path) //不检验真实性,只对相对路径最做简化
QString QFileInfo::absolutePath() const //返回绝对路径目录,不含文件名
QString QFileInfo::canonicalPath() const //返回权威路径目录,不含文件名
// 注意这两个函数是不检查文件或文件夹是否存在
QString QFileInfo::path() const //返回当前路径文件名前面的路径部分
QString QFileInfo::fileName() const //返回文件名部分
QString QFileInfo::baseName() const //去除所有扩展名,得到基本名
QString QFileInfo::completeSuffix() const //全部的扩展名,如 "tar.gz"
QString QFileInfo::suffix() const //最后一个扩展名,如 "gz"
QString QFileInfo::completeBaseName() const //去除最后一个扩展名的前面部分,如 "archive.tar"
DateTime created() //文件创建时间
QDateTime lastModified() //最后修改时间
QDateTime lastRead() //最后读取时间
bool isReadable() //用户对该文件是否有读权限
bool isWritable() //用户对该文件是否有写权限
bool isExecutable() //用户对该文件是否有执行权限
bool QFileInfo::permission(QFile::Permissions permissions) const // 同时判断多个权限情况
void QFileInfo::refresh() // 与 QDir 类似
void QFileInfo::setCaching(bool enable) // 不设置缓存
```
## 示例
### 遍历
```
QDir dir("./");
QFileInfoList list = dir.entryInfoList(QDir::Files|QDir::Dirs|QDir::NoDotAndDotDot);
foreach (QFileInfo item, list) {
qDebug()<
';