hallo,
müsste ich soetwas programmieren, würde ich zunächst mit File.listRoots() mir ein array der laufwerke holen. über dieses array würde ich eine for-schleife konstruieren und für jedes laufwerk eine rekursive suchmethode aufrufen. in dieser rekursiven methode würde ich das übergebene "file" abprüfen, ob es ein verzeichnis ist. wenn ja, mit dem gesuchten ordner vergleichen und bei keiner übereinstimmung mir von diesem über listFiles() die unterverzeichnisse geben lassen. darüber würde ich dann in der rekursiven methode mit einer for-schleife gehen und jedes einzelne "file" wieder als parameter in die rekursive methode übergeben. diese rekursive methode braucht natürlich auch nen rückgabewert, wenn sie den ordner gefunden hat. sinnvoll wäre hier den ordner also File-Objekt zurückzugeben, dann kannst du jederzeit abprüfen ob die methode null oder ein gültiges objekt zurückgibt um die rekursion früher zu beenden. der ganze algorithmus sollte warscheinlich nicht länger als ein paar sekunden dauern.
ich hoffe, das hilft dir. lass mich allerdings gerne über andere methoden belehren.
wayne