获取文件名、文件后缀名、文件绝对路径
QString file_full, file_name, file_path,file_suffix ;
QFileInfo fileinfo;
file_full = QFileDialog::getOpenFileName(this,.....);
fileinfo = QFileInfo(file_full);
//文件名
file_name = fileinfo.fileName();
//文件后缀
file_suffix = fileinfo.suffix()
//绝对路径
file_path = fileinfo.absolutePath();
QFileInfo的扩展函数
QFileInfo的其他函数扩展:
QFileInfo l_info("./Resources/Config/Version.ini");
QString l_str;
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config
//据对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Version.ini
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config
//文件名
l_str = l_info.baseName();//Version
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Version.ini
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Version
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//ini
l_str = l_info.dir().path();//./Resources/Config
//文件名
l_str = l_info.fileName();//Version.ini
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Version.ini
l_str = l_info.path();//./Resources/Config
l_str = l_info.suffix();//ini
若文件有多个后缀,常用的函数有以下
QFileInfo l_info("./Resources/Config/Abc.tar.gz");
QString l_str;
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config
//据对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Abc.tar.gz
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config
//文件名
l_str = l_info.baseName();//Abc
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Abc.tar.gz
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Abc.tar
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//tar.gz
l_str = l_info.dir().path();//./Resources/Config
//文件名
l_str = l_info.fileName();//Abc.tar.gz
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Abc.tar.gz
l_str = l_info.path();//./Resources/Config
l_str = l_info.suffix();//gz