Вы можете взглянуть на следующее:
http://www.mindspring.com/~mgrand/java-system-properties.htm
Из них я видел следующее:
user.home
user.dir
java.io.tmpdir
используется длявременные файлы.Тем не менее, я бы предположил, что user.dir будет наиболее безопасным для использования, тогда как user.home будет наиболее распространенным.
РЕДАКТИРОВАТЬ: Кажется, что обычной практикой является использование user.home для файлов, которые будут повторно использоваться вашим приложением, при запуске и перезапуске, в то время как user.dir чаще используется для временных файлов.
Итак, я рекомендую использовать:
System.getProperty("user.home");
Поскольку у вашего java будут права на чтение и запись, вы никогда не ошибетесь.