Liebe Leute,
ich habe die folgende Verzeichnisstruktur und möchte aus dieser alle Dateinamen auslesen:
/media/Flash/daten/2012/01/*.csv
/media/Flash/daten/2012/02/*.csv
/media/Flash/daten/2012/ usw..
/media/Flash/daten/2013/01/*.csv
/media/Flash/daten/2013/02/*.csv
/media/Flash/daten/2013/usw....
Der Befehl QDir.entryList("/media/Flash/daten") liefert mir nur die Unterverzeichnisse, ich brauche aber die Dateinamen *.csv
aus den Unterverzeichnissen.
Frage:
Muss ich jetzt die Unterverzeichnisse manuell durchsuchen oder gibt es eine einfachere Möglichkeit?
Ich verwende QT-4.6.3.
Danke.
QDir.entryList() mit Unterverzeichnissen
Re: QDir.entryList() mit Unterverzeichnissen
Hallo Jasper
Meines Wissens bietet Qt kein rekursives FindFile. Aber dies "manuel" zu machen, ist keine Hexerei.
Viele Grüsse
Reto
PS: Das Beispiel ist Qt5 und C++11.
Meines Wissens bietet Qt kein rekursives FindFile. Aber dies "manuel" zu machen, ist keine Hexerei.
Viele Grüsse
Reto
Code: Alles auswählen
void FileSystem::FindFiles(const QString& directory, std::function<void (const QFileInfo&)> handler, bool recursive)
{
QDir dir( directory );
if( !dir.exists() )
throw Exception( "Directory doesnt exists" );
foreach( QFileInfo fileinfo, dir.entryInfoList( QDir::AllEntries | QDir::NoDotAndDotDot ) ){
if( fileinfo.isFile() ){
handler( fileinfo );
} else if( fileinfo.isDir() && recursive ){
FindFiles( directory + "/" + fileinfo.fileName(), handler, recursive );
}
}
}
ODT Informatik GmbH, Reto Tschofenig
Re: QDir.entryList() mit Unterverzeichnissen[gelöst]
Hallo Odt,
Danke für die Antwort- es hätte ja sein können dass es diese Funktionalität schon gibt.
Gruß
Jasper
Danke für die Antwort- es hätte ja sein können dass es diese Funktionalität schon gibt.
Gruß
Jasper