Es gibt eine (ungetestete) Möglichkeit, Ihre Laufwerke mit reinem Java-Code zu bekommen. Zumindest unter Windows.
Es ist ein bisschen hacky und funktioniert nicht unter Linux (weil Linux nicht so viel Integration Liebe von Sonne ich glaube).
import javax.swing._
import javax.swing.filechooser._
val chooser = new JFileChooser()
val view = chooser.getFileSystemView()
Das Filesystem cla bietet einige Funktionen wie die möglichen Wurzeln zu fragen, ob sie ein Antrieb (isDrive()) sind. Swing verwendet dies, um den Dateiwähler mit den richtigen Symbolen zu zu präsentieren, also sollte es unter Windows arbeiten, weil IIRC dort die korrekten Symbole zeigt. Unter Linux zeigt es leider nur den "/" root.
Einer der Gründe, warum dies unter Linux nicht funktioniert, könnte darin bestehen, dass die Linux-Entwickler ihre bevorzugte Art, solche Informationen dem Benutzerbereich zu präsentieren, ständig ändern. Im Moment ist es IIRC hal und dbus. Vielleicht wollte SUN nicht jedes Mal eine neue Java-Version veröffentlichen.
Wenn reines Java es nicht schneidet, könnten Sie vielleicht ein wenig jni (das nicht so schwer zu verwenden ist, wenn Sie Tools wie JNA oder ähnliches verwenden) verwenden, um direkt auf die Linux Apis zuzugreifen. Ich habe das nicht getan, aber könnte es versuchen, wenn Sie interessiert sind.