Qt有一个功能:可以根据自定义的文件类型对路径下的文件进行过滤。
使用方法:
1.过滤目录下包括子目录内的文件
//获取所选文件类型过滤器
QStringList filters;
filters << QString("*.txt") << QString("*.TXT");
//定义迭代器并设置过滤器
QDirIterator dir_iterator(path,filters,
QDir::Files | QDir::NoSymLinks,
QDirIterator::Subdirectories);
while(dir_iterator.hasNext())
{
dir_iterator.next();
QFileInfo file_info = dir_iterator.fileInfo();
QString absolute_file_path = file_info.absoluteFilePath();
//do something
......
}
2.只过滤当前目录下的文件
QString dirTemp = "C:/";
QDir dirt(dirTemp);
QStringList filterst;
filterst << QString("*.txt") << QString("*.TXT");
QFileInfoList file_list = dirt.entryInfoList(filterst, QDir::Files | QDir::NoSymLinks);
if (file_list.size()>0)
{
for (int i = 0; i < file_list.size();++i)
{
//do somthing
......
}
}