1、目录
类名为QDir
QString QDir::absolutePath() const
返回的是目录的绝对路径(可能是快捷方式),路径名中不会包含有.和..
QString QDir::canonicalPath() const
返回的是目录的绝对路径(不是快捷方式),路径名中不会包含有.和..
QString dirName() const
返回的是仅仅是目录名,如d:\dir1\dir2,返回的是dir2
QString QDir::path() const
返回的是目录名,可能是相对,也可能是绝对,这个目录可能是快捷方式型的,但是不会包含.和..
QString relativeFilePath(const QString & fileName) const
返回的是fileName相对于QDir实例的相对路径
下面以程序为例
#include <QCoreApplication>
#include <QFile>
#include <QtDebug>
#include <QtCore>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString file = "D:\\program\\..\\program\\qt";
qDebug() << QDir(file).absolutePath() << endl
<< QDir(file).canonicalPath() << endl
<< QDir(file).dirName() << endl
<< QDir(file).path() << endl
<< QDir(file).relativeFilePath("D:\\program\\vs2013\\Win32Project1\\Win32Project1.sdf");
return a.exec();
}
输出为
2、文件信息类QFileInfo
QString QFileInfo::fileName() const 返回文件名,不包含目录
QFileInfo file("C:\\HaxLogs.txt");
QString info = file.fileName(); // HaxLogs.txt
QString QFileInfo::filePath() const 返回文件名,包含目录(绝对或者相对)
QFileInfo file("C:\\HaxLogs.txt");
QString info = file.filePath(); // C:\\HaxLogs.txt
QString QFileInfo::baseName() const //返回文件名,不包含目录也不包含扩展名
QFileInfo file("C:\\HaxLogs.txt"");
QString info = file.baseName(); //返回HaxLogs
QString QFileInfo::canonicalPath()//返回文件路径(不包含文件名),是绝对路径
QFileInfo file("C:\\HaxLogs.txt");
QString info = file.canonicalPath();// 返回C:/