QT 文件夹操作(最精简的文件遍历操作)

时间:2020-12-26 14:34:21
QString m_sProjectPath = tr("C:\Users\administrator\Desktop");/*文件夹全路径名*/
QDir dir(m_sProjectPath);
dir.exists(); /*判断文件夹是否存在*/
dir.setFilter(QDir::Files); /*设置dir的过滤模式,表示只遍历本文件夹内的文件*/
QFileInfoList fileList = dir.entryInfoList();  /*获取本文件夹内所有文件的信息*/
int fileCount = fileList.count(); /*获取本文件夹内的文件个数*/
for(int i=0;i<fileCount;i++)  /*遍历每个文件*/
{
QFileInfo fileInfo = fileList[i]; /*获取每个文件信息*/
QString suffix = fileInfo.suffix(); /*获取文件后缀名*/
/*筛选出所有ini文件(如果要筛选其他格式的文件则根据需要修改tr("ini")中的字符串即可)*/
if(QString::compare(suffix, QString(tr("ini")), Qt::CaseInsensitive) == 0) 
{   
QString filePath = fileInfo.absoluteFilePath();/*获取文件绝对路径即全路径*/
QString fileName = fileInfo.baseName();/*获取文件后名(不带后缀的文件名)*/
loadFile(filePath);/*读取文件内容*/
}
else
dir.remove(filePath);/*移除非ini文件*/

}

备注:loadFile()为自定义函数,函数体及相关说明详见"

QT ini配置文件的读写(使用QTextStream类):http://blog.csdn.net/lusirking/article/details/51353301

")