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()< ';