Я предполагаю, что вы хотите найти домашний каталог РАЗНОГО пользователя. Очевидно, что получить свойство user.home было бы самым простым способом получить домашний каталог текущего пользователя.
Чтобы получить произвольный домашний каталог пользователя, требуется немного изящества с командной строкой:
String[] command = {"/bin/sh", "-c", "echo ~root"}; //substitute desired username
Process outsideProcess = rt.exec(command);
outsideProcess.waitFor();
String tempResult;
StringBuilder sb = new StringBuilder();
while((tempResult = br.readLine()) != null) sb.append(tempResult);
br.close();
return sb.toString().trim();
Теперь технически у нас должен быть поток, ожидающий на stdout и stderr, чтобы буферы не заполняли и не блокировали процесс, но я уверен, что буфер мог бы по крайней мере содержать одно имя пользователя. Кроме того, вы можете проверить результат, чтобы увидеть, начинается ли он с ~ root (или с любым другим именем пользователя), просто чтобы убедиться, что пользователь существует и что он правильно оценен.
Надеюсь, это поможет. Голосуйте за этот ответ, если он поступит так, как я новичок в разработке SO, и мог бы использовать баллы.