QFileInfo类提供与系统无关的文件信息,QFileInfo提供了关于文件的名称和在文件系统中的位置(路径)、它的访问权限以及它是目录还是符号链接等信息。文件的大小和最后修改/读取时间也可用。
1.如果该对象指向目录或指向目录的符号链接,则返回true;否则返回false。
bool isDir() const
2.如果该对象指向文件或指向文件的符号链接,则返回true。如果对象指向的不是文件,比如目录,则返回false。
bool isFile() const
3.如果这是一个“隐藏”文件,则返回true;否则返回false。
bool isHidden() const
4.如果该对象指向符号链接,则返回true;否则返回false。
bool isSymLink() const
5.返回符号链接指向的文件或目录的绝对路径,如果对象不是符号链接,则返回空字符串。
QString symLinkTarget() const
6.返回文件的后缀(扩展名)。
QString suffix() const
7.返回文件的完整后缀(扩展名)。
QString completeSuffix() const
8.返回文件的名称(不包括路径)。
QString fileName() const
9.返回文件的基本名称,不包含路径。
QString baseName() const
10.返回文件名,包括路径(可以是绝对的或相对的)。
QString filePath() const
11.返回包含文件名的绝对路径。
QString absoluteFilePath() const
12.返回文件的路径。这不包括文件名。
QString path() const
13.以字节为单位返回文件大小。如果文件不存在或无法获取,则返回0。
qint64 size() const
14.返回文件创建/生成的日期和时间。
QDateTime birthTime() const
15.返回文件最后修改的日期和本地时间。
QDateTime lastModified() const
1.链接文件
//linux
QFileInfo info1("/home/bob/bin/untabify");
info1.isSymLink(); // returns true
info1.absoluteFilePath(); // returns "/home/bob/bin/untabify"
info1.size(); // returns 56201
info1.symLinkTarget(); // returns "/opt/pretty++/bin/untabify"
//windows
QFileInfo info1("C:\\Documents and Settings\\Bob\\untabify.lnk");
info1.isSymLink(); // returns true
info1.absoluteFilePath(); // returns "C:/Documents and Settings/Bob/untabify.lnk"
info1.size(); // returns 743
info1.symLinkTarget(); // returns "C:/Pretty++/untabify"
2.baseName()
QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.baseName(); // base = "archive"
3.absoluteFilePath()
QFileInfo fi("c:/temp/foo"); => fi.absoluteFilePath() => "C:/temp/foo"
4.文件后缀
QFileInfo fi("/tmp/archive.tar.gz");
QString ext = fi.completeSuffix(); // ext = "tar.gz"
QString ext1 = fi.suffix(); // ext = "gz"
5.文件信息
QFileInfo fileInfo("F:\\data.txt");
qDebug()<<"baseName = "<