qt QFileInfo详解
1、概述
QFileInfo是Qt框架中用于获取文件信息的工具类。它提供了与操作系统无关的文件属性,如文件的名称、位置(路径)、访问权限、类型(是否为目录或符号链接)等。此外,QFileInfo还可以获取文件的大小、创建时间、最后修改时间和最后读取时间等信息。通过QFileInfo,开发者可以方便地获取和处理文件的各种属性,而无需关心底层的操作系统细节。
2、重要方法
QFileInfo(const QString &file)
: 构造函数,根据提供的文件路径创建一个QFileInfo对象。isFile()
,isDir()
,isSymLink()
: 判断文件类型,分别为普通文件、目录和符号链接。exists()
: 检查文件是否存在。size()
: 获取文件大小(以字节为单位)。path()
,fileName()
,filePath()
: 分别获取文件的路径(不包括文件名)、文件名(不包括路径)和文件的完整路径(可能包括绝对路径或相对路径)。suffix()
: 获取文件的后缀名。created()
,lastModified()
,lastRead()
: 分别获取文件的创建时间、最后修改时间和最后读取时间。isReadable()
,isWritable()
,isExecutable()
: 判断文件的访问权限。symLinkTarget()
: 如果QFileInfo对象表示的是一个符号链接,则返回该链接所指向的文件名。makeAbsolute()
: 将相对路径转换为绝对路径。refresh()
: 重新读取文件信息,以获取最新的文件状态。
3、重要信号
需要注意的是,QFileInfo本身并不包含信号(signals)的定义。它主要是一个提供文件信息的数据类,而不是一个用于交互的控件类。因此,在QFileInfo的使用过程中,不会涉及到信号的连接和触发。
#include <QCoreApplication>
#include <QFileInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个QFileInfo对象,并指定文件路径
QFileInfo fileInfo("/path/to/your/file.txt");
// 检查文件是否存在
if (fileInfo.exists()) {
// 获取并输出文件的各种信息
qDebug() << "文件名:" << fileInfo.fileName();
qDebug() << "文件路径:" << fileInfo.filePath();
qDebug() << "文件大小:" << fileInfo.size() << "字节";
qDebug() << "文件后缀名:" << fileInfo.suffix();
qDebug() << "文件创建时间:" << fileInfo.created().toString("yyyy/MM/dd hh:mm:ss");
qDebug() << "文件最后修改时间:" << fileInfo.lastModified().toString("yyyy/MM/dd hh:mm:ss");
qDebug() << "文件是否可读:" << fileInfo.isReadable();
qDebug() << "文件是否可写:" << fileInfo.isWritable();
// 如果文件是符号链接,输出链接目标
if (fileInfo.isSymLink()) {
qDebug() << "符号链接目标:" << fileInfo.symLinkTarget();
}
} else {
qDebug() << "文件不存在";
}
return a.exec();
}
觉得有帮助的话,打赏一下呗。。