欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QT 文件信息 QFileInfo

程序员文章站 2024-02-19 17:33:10
...

文件信息 QFileInfo

QFileInfo 类提供了与系统无关的文件信息,包括文件的名称、在文件系统中的位置(路径)、文件的访问权限以及是否是一个目录或者符号链接等。

QFileInfo 也可以获得文件的大小和最近一次修改/读取的时间,还可以获得Qt资源的相关信息。

QFileInfo 可以使用相对路径或者绝对路径来指向一个文件。

QString QFileInfo::absoluteFilePath() const

返回包含文件名的绝对路径。

QString QFileInfo::path() const

返回文件的路径。不包括文件名。

QString QFileInfo::fileName() const

返回文件的名称, 不包括路径

QString QFileInfo::baseName() const

返回没有路径的文件的基名称。
基名称由文件中的所有字符组成, 直到 (但不包括) 第一个 "." 字符。

QString QFileInfo::suffix() const

返回文件的后缀

qint64 QFileInfo::size() const

返回文件大小 (以字节为单位)。如果文件不存在或无法提取, 则返回0。

bool QFileInfo::isRelative() const

如果文件路径名称是相对的, 则返回 true, 否则返回 false

bool QFileInfo::makeAbsolute()

(将相对路径转换为绝对路径)如果文件的路径尚未在绝对路径中, 则将其转换为绝对路径。返回 true 以指示路径已转换;否则返回 false 以指示路径已为绝对路径。

QString QFileInfo::symLinkTarget() const

返回符号链接 (或 Windows 上的快捷方式) 指向的文件或目录的绝对路径, 如果对象不是符号链接, 则返回空字符串。

uint QFileInfo::ownerId() const

返回文件所有者的 id。
在 Windows 和文件没有所有者的系统上, 此函数返回 ((uint)-2)。
文件的日期
QDateTime QFileInfo::created() const 返回创建文件的日期和时间。
在大多数 Unix 系统上, 此函数返回上次状态更改的时间。

QDateTime QFileInfo::lastModified() const

返回上次修改文件的日期和时间。

QDateTime QFileInfo::lastRead() const

返回上次读取 (访问) 文件的日期和时间。
文件的所有权

QString QFileInfo::owner() const

返回文件的所有者。在文件没有所有者的系统上, 或者如果发生错误, 则返回空字符串。
此函数在 Unix 下可能非常耗时 (按毫秒顺序)。在 Windows 上, 除非启用了 NTFS 权限检查, 否则它将返回一个空字符串。

QString QFileInfo::group() const

返回文件的组。在 Windows 上, 在文件没有组的系统上, 或者在发生错误时, 将返回空字符串。
此函数在 Unix 下可能非常耗时 (按毫秒顺序)。

uint QFileInfo::groupId() const

返回文件所属的组的 id。
在 Windows 和文件没有组的系统上, 此函数始终返回 (uint)-2。
访问权限

bool QFileInfo::isReadable() const

如果用户可以读取该文件, 则返回 true。否则返回 false。
注意: 如果尚未启用 NTFS 权限检查, Windows 上的结果将仅反映该文件是否存在。

bool QFileInfo::isWritable() const

如果用户可以写入该文件, 则返回 true。否则返回 false。
注意: 如果尚未启用 NTFS 权限检查, Windows 上的结果将仅反映文件是否标记为 "只读"。

bool QFileInfo::isExecutable() const

如果文件是可执行的, 则返回 true。否则返回 false。

bool QFileInfo::permission(QFile::Permissions permissions) const

文件权限测试。权限参数可以是 QFile 类型的多个标志::P ermissions OR-ed 一起检查权限组合。
在文件没有权限的系统上, 此函数始终返回 true。

例子:

   //获取文件信息
    QFile file("myfile.txt");
    QFileInfo info(file);
    qDebug()<< QObject::tr("绝对路径:")<<info.absoluteFilePath()<<endl
            << QObject::tr("文件名:")<<info.fileName()
            << QObject::tr("基本名称:")<<info.baseName()
            << QObject::tr("后缀:")<<info.suffix()
            << QObject::tr("创建时间:")<<info.created()
            << QObject::tr("大小:")<<info.size();