Получение корневого каталога по умолчанию в 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
возвращается.