一、绪论

属性类别 方法 返回类型 说明
路径信息 absoluteFilePath() QString 获取文件的绝对路径(包含文件名)。
absolutePath() QString 获取文件的绝对路径(不包含文件名)。
fileName() QString 获取文件名(包含后缀)。
filePath() QString 获取文件路径,取决于构造时是相对路径还是绝对路径。
path() QString 获取文件的路径(不包含文件名)。
名称信息 baseName() QString 获取文件的基本名称(不包含路径和后缀)。
completeBaseName() QString 获取文件的完整基本名称(对于"tar.gz"等复合后缀有用)。
suffix() QString 获取文件的后缀(最后一个点之后的部分)。
completeSuffix() QString 获取文件的完整后缀(最后一个点之后的所有部分)。
文件类型与状态 isDir() bool 判断是否为目录。
isFile() bool 判断是否为普通文件。
isSymLink()/isSymbolicLink() bool 判断是否为符号链接(软链接)。
isHidden() bool 判断是否为隐藏文件。
exists() bool 判断文件或目录是否存在。
大小与时间 size() qint64 获取文件大小(单位:字节)。
birthTime()/created() QDateTime 获取文件创建时间。
lastModified() QDateTime 获取文件最后修改时间。
lastRead() QDateTime 获取文件最后访问(读取)时间。
权限与所有者 isReadable() bool 判断文件是否可读。
isWritable() bool 判断文件是否可写。
isExecutable() bool 判断文件是否可执行。
owner() QString 获取文件所有者名称。
group() QString 获取文件所属组名称。

二、案例

代码:

 QString filePath = "D:/qtdemo/daily_test_window/build/Desktop_Qt_6_7_0_MinGW_64_bit-Debug/CMakeCache.txt";
QFileInfo fileInfo(filePath); // 创建QFileInfo对象:cite[4]
if (fileInfo.exists()) { // 检查文件是否存在:cite[4]
qDebug() << "文件路径:" << fileInfo.absoluteFilePath(); //:cite[4]
qDebug() << "文件名:" << fileInfo.fileName(); //:cite[4]
qDebug() << "文件大小(字节):" << fileInfo.size(); //:cite[4]
qDebug() << "文件后缀:" << fileInfo.suffix(); //:cite[4]
// 获取并格式化时间
qDebug() << "创建时间:" << fileInfo.birthTime().toString("yyyy-MM-dd hh:mm:ss"); //:cite[1]:cite[7]
qDebug() << "修改时间:" << fileInfo.lastModified().toString("yyyy-MM-dd hh:mm:ss"); //:cite[7]
qDebug() << "访问时间:" << fileInfo.lastRead().toString("yyyy-MM-dd hh:mm:ss"); //:cite[7]
// 检查文件类型和权限
qDebug() << "是否是目录:" << fileInfo.isDir(); //:cite[6]
qDebug() << "是否是文件:" << fileInfo.isFile(); //:cite[6]
qDebug() << "是否可读:" << fileInfo.isReadable(); //:cite[6]
qDebug() << "是否可写:" << fileInfo.isWritable(); //:cite[6]
} else {
qDebug() << "文件不存在";
}

结果:

到此这篇关于Qt中QFileInfo的使用小结的文章就介绍到这了,更多相关Qt QFileInfo内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。