Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
前言:
上一篇文章已经写了关于文件操作的一些方法,这一篇文章的内容是关于文件信息的。QFileInfo类提供了与系统无关的文件信息,包括文件的名称、在文件系统中的位置(文件路径)、文件的访问权限以及是否是一个目录或者符号链接等信息。QFileInfo还可以获取文件的大小和最近一次修改/读取的时间,还可以获取Qt资源的相关信息,只要是涉及获取指定文件相关信息的,都可以使用这个类。
文件信息的具体使用:
QFileInfo可以使用相对路径或者绝度路径来指向一个文件。
- 使用isRelative() 函数可以判断一个QFileInfo对象使用的是相对路径还是绝对路径。
- 使用makeAbsolute() 来将一个相对路径转换为绝对路径。
- 可以在构造QFileInfo对象时指定指向的文件,也可以使用setFile() 函数来指定。
- 使用exists() 函数来查看文件是否存在。
QFileInfo可以获取文件的一些基本信息:
- 使用size()函数来获取文件大小。
- 使用isFile()函数、isDir()函数和isSymLink()函数来判断文件的类型。
- 使用symLinkTarget()函数获取符号链接指向的文件的名称。
- 使用path()函数和fileName()函数分别获取文件的路径和文件名。
- 使用baseName()函数获取文件名中的基本名称。
- 使用suffix()函数获取文件名的后缀。
- 使用completeSuffix()函数来获取复合后缀。
- 使用created()函数、lastModified()函数和lastRead()函数获取文件的日期信息。
例:
QFile file(myfile.txt);
QFileInfo info(file);
qDebug() << QObject::tr("绝对路径:") << info.absoluteFilePath() << endl
<< QObject::tr("文件名:") << info.absoluteFilePath() << endl
<< QObject::tr("基本名称:") << info.absoluteFilePath() << endl
<< QObject::tr("后缀:") << info.absoluteFilePath() << endl
<< QObject::tr("创建时间:") << info.absoluteFilePath() << endl
<< QObject::tr("大小:") << info.absoluteFilePath() << endl
QFileInfo可以获取文件的权限信息:
- 使用isReadable()函数、isWritable()函数和isExecutable()函数来获取文件的访问权限。
- 使用owner()函数、ownerId()函数、group()函数和groupId()函数获取文件的所有权。
- 使用permission()函数将文件的访问权限和所有权一次性读取出来。