====== Scandire i file di una directory con qt ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//13/07/2013//** \\ \\
Ecco come scandire i file di una direcory in base ad un filtro del tipo ''*.txt''.
===== Scanzione non ricorsiva =====
#include
#include
#include
...
QDir dir ("/home/fabio/mydir");
QStringList filters ("*.txt");
QFileInfoList list = dir.entryInfoList (filters);
for (int i = 0; i < list.size(); ++i)
{
QFileInfo fInfo = list.at(i);
qDebug() << fInfo.absoluteFilePath();
}
Nella struttura **fInfo** abbiamo le informazioni sul file corrente.
===== Scanzione ricorsiva =====
#include
#include
...
void scanDirs(QString folder)
{
QDir dir(folder);
if (dir.exists())
{
foreach(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs ))
{
if (info.isFile())
{
//Qui potremmo lavorare con il file corrente
}
if (info.isDir())
{
//Entriamo ricorsivamente nella prossima directory
scanDirs(info.absoluteFilePath());
}
}
}
}
Come si puo' vedere dall'esempio possiamo lavorare con i file o le directory alltraverso la struttura **info** .