Java - использование System.getProperty( "user.dir" ) для получения домашнего каталога
Мне было интересно, если вы используете:
System.getProperty("user.dir");
чтобы получить абсолютный путь к папке - лучший способ сделать это? Я хочу передать свое приложение на другие компьютеры, и мне нужен полный доказательственный способ получить "домашний" каталог, чтобы я мог просто добавить путь, когда мне нужно использовать другие папки, просто сделав:
String path = System.getProperty("user.dir");
String otherFolder = path + "\\other";
Ответы
Ответ 1
способ получить домашний каталог текущего пользователя
String currentUsersHomeDir = System.getProperty("user.home");
и добавить разделитель путей
String otherFolder = currentUsersHomeDir + File.separator + "other";
File.separator
Системно-зависимый по умолчанию символ-разделитель, представленный как строка для удобства. Эта строка содержит единственный символ, а именно separatorChar.
Ответ 2
"user.dir" - текущий рабочий каталог, а не домашний каталог
Все это описано здесь.
http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
Кроме того, используя \\
вместо File.separator, вы потеряете переносимость с помощью системы * nix, которая использует /
для разделителя файлов.