Если текущий каталог приложения. Например, если вы создаете файл с помощью
new FileOutputStream("myfile")
затем он создается в «текущем» каталоге, который можно получить, вызвав
System.getProperty("user.dir");
Однако, если вы измените текущий каталог, вызвав собственные методы (очень маловероятно!), Свойство не будет обновлено. Его можно рассматривать как начальный текущий каталог приложения.
Если вы запустите приложение Java в пакетном файле и дважды щелкните ссылку на него, текущим каталогом будет каталог, в котором находится пакетный файл, но это можно изменить в ссылке.
Если вы запускаете приложение Java из командной строки, вы уже знаете каталог, в котором находитесь.
Если вы запускаете приложение Java из IDE, текущим каталогом обычно является корень проекта, но это обычно можно настроить в конфигурации запуска.
ОБНОВЛЕНИЕ 2017-08:
Вы также всегда можете найти текущее правильное местоположение с помощью new File(".").getAbsolutePath()
.