Guten Morgen,
habe folgendes Problem:
Ich habe beispielsweise folgendes Verzeichnis:
Ordner a -> "bild1.png"
Ordner a -> Ordner b -> Ordner c -> "bild2.png"
Ich bekomme ja bei einem File die Methode listFiles, welche sämtliche Unterverzeichnisse eines Files auslesen kann.
Im Beispiel würde nun a.listFiles ein Array mit dem File zu bild1.png beinhalten und einen File zu Ordner b. Doch ich brauche ein Array (oder ArrayList) die einen File zu bild1.png und bild2.png beinhaltet. Hab da eigentlich folgenden kleinen Algorithmus gebastelt, aber irgendwie scheint der nicht zu funktionieren. Vielleicht kann da mal kurz jemand drüber schauen ob er einen Fehler findet. Oder bietet die Klasse file sogar eine passende Methode, sodass ich mir den Algorithmus sparen könnte?
Hier nun mal kurz der Algorithmus:
habe folgendes Problem:
Ich habe beispielsweise folgendes Verzeichnis:
Ordner a -> "bild1.png"
Ordner a -> Ordner b -> Ordner c -> "bild2.png"
Ich bekomme ja bei einem File die Methode listFiles, welche sämtliche Unterverzeichnisse eines Files auslesen kann.
Im Beispiel würde nun a.listFiles ein Array mit dem File zu bild1.png beinhalten und einen File zu Ordner b. Doch ich brauche ein Array (oder ArrayList) die einen File zu bild1.png und bild2.png beinhaltet. Hab da eigentlich folgenden kleinen Algorithmus gebastelt, aber irgendwie scheint der nicht zu funktionieren. Vielleicht kann da mal kurz jemand drüber schauen ob er einen Fehler findet. Oder bietet die Klasse file sogar eine passende Methode, sodass ich mir den Algorithmus sparen könnte?
Hier nun mal kurz der Algorithmus:
Java:
private void getAllFilesFromFile(Mod mod)
{
File directory = mod.getFile();
if(directory.isDirectory())
{
File[] dirPath = directory.listFiles();
getAllFilesFromDirectory(dirPath);
}
}
private void getAllFilesFromDirectory(File[] dirFiles)
{
for(int i=0; i< dirFiles.length; i++)
{
if(!dirFiles[i].isDirectory())
{
uploadFiles.add(dirFiles[i]);
}
else
{
File[] files = dirFiles[i].listFiles();
getAllFilesFromDirectory(files);
}
}
}