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, которая использует / для разделителя файлов.