QFileInfo类提供了一个与平台无关的文件信息.
QFileInfo提供了关于系统中的文件名称和位置,访问权限和是否是符号链接,文件大小和上次修改/读写时间等,也能被用于Qt资源文件。
QFileInfo能通过相对/绝对路径指向一个文件。
可以使用isFile(),isDir(),isSymLink().symLinkTarget()函数提供符号链接的目标文件。
在Unix(包括Mac OS X)的符号链接具有与目标文件相同的大小(),因为Unix透明地处理符号链接;同样,打开一个符号连接使用的QFile有效地打开链接的目标.
在Windows中,符号链接(快捷方式)的lnk文件。它大小()的是,符号链接(而不是链接的目标)的大小,打开一个符号连接使用的QFile并打开。lnk文件。例如
[cpp] view plaincopy
1. #include
5. int main(int argc, char *argv[]) 6. {
7. QCoreApplication a(argc, argv);
8. QFileInfo info1(\); 9. qDebug() << info1.isSymLink(); 10. qDebug() << info1.absoluteFilePath(); 11. qDebug() << info1.size();
12. qDebug() << info1.symLinkTarget(); 13. qDebug() << \; 14. QFileInfo info2(info1.symLinkTarget()); 15. qDebug() << info2.isSymLink(); 16. qDebug() << info2.absoluteFilePath(); 17. qDebug() << info2.size(); 18.
19. return a.exec(); 20. }
运行结果:
[cpp] view plaincopy
1. #include
6. int main(int argc, char *argv[]) 7. {
8. QCoreApplication a(argc, argv); 9.
10. QTextCodec *codec = QTextCodec::codecForName(\); 11. QTextCodec::setCodecForLocale(codec); 12. QTextCodec::setCodecForCStrings(codec); 13. QTextCodec::setCodecForTr(codec); 14.
15. QFileInfo info(\基本命令与VI.Command.txt\); 16. qDebug() << info.baseName();//不包括后缀名
17. qDebug() << info.bundleName();//只有在Mac OS才有用,其它平台为空字符串 18. qDebug() << info.suffix();//后缀名
19. qDebug() << info.completeBaseName();//不包括后缀名 20. qDebug() << info.completeSuffix();//完整的后缀名
21. return a.exec(); 22. }
运行结果: