Получение корневого каталога по умолчанию в Java

Я делаю основной файловый браузер и хочу знать, как получить корневой каталог по умолчанию. Я знаю это java.io.File.listRoots() дает все корни (для меня это A:, C:, D:, E:, F:, G:, H:, I:, L: T:, U:, X:, Y:, Z:), но я хочу, чтобы пользователь использовал в первую очередь (т. е. тот, на котором установлена операционная система), поэтому я знаю, с чего начать просмотр.

2 ответов


получение корневого раздела операционной системы-это только вещь на Windows С Unix всегда /.

следовательно, следующий код работает для Windows всего:

System.getenv("SystemDrive");

получает SystemDrive значение переменной среды. Это всегда должно возвращать корневой раздел операционной системы, например C:.


не уверен, что это поможет, но можно попробовать:

import javax.swing.filechooser.*;

FileSystemView.getFileSystemView().getRoots()[0];

или

FileSystemView.getFileSystemView().getHomeDirectory();

или

System.getProperty("user.dir");

для последнего фрагмента вы можете получить корневой каталог, перейдя вверх с помощью getParent () до null возвращается.