Получение корневого каталога по умолчанию в Java - PullRequest
10 голосов
/ 06 декабря 2010

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

Ответы [ 2 ]

18 голосов
/ 06 декабря 2010

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

import javax.swing.filechooser.*;

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

или

FileSystemView.getFileSystemView().getHomeDirectory();

или

System.getProperty("user.dir");

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

2 голосов
/ 29 сентября 2017

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

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

System.getenv("SystemDrive");

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...