Normalmente se usa la sentencia
String userHome = System.getProperty( "user.home" );
para obtener el directorio de inicio del usuario en cualquier plataforma. Consulte la documentación del método getProperty para ver qué más puede obtener.
Puede haber problemas de acceso que quizás desee evitar utilizando esta solución alternativa (Uso de un archivo de política de seguridad)
Para sistemas similares a UNIX, es posible que desee ejecutar "echo ~username
" usando el shell (así que usa Runtime.exec()
ejecutar {"/bin/sh", "-c", "echo ~username"}
).
Prueba esto en Java:
System.out.println("OS: " + System.getProperty("os.name") + ", USER DIRECTORY: " + System.getProperty("user.home"));