Поиск каталога установки приложения в Windows с использованием Java
У меня есть Java-приложение, для которого я сделал установщик. В коде мне нужно знать, где пользователь установил приложение, так как пользователь должен установить приложение в своем любимом каталоге. Итак, как мне получить эту информацию, используя код Java? Мне нужно это конкретно для платформы Windows.
2 ответа
Сложно определить, где установлено приложение, так как оно оставлено на усмотрение пользователя. Таким образом, один из способов получить каталог установки приложения - использовать переменные окружения на машине с Windows. Когда вы создаете установщик, задайте переменную среды (вы можете создать новую, скажем, переменную "XYZ" или также можете использовать существующую) и установить ее значение в каталог приложения (поскольку вы не упомянули используемый установщик) поэтому я не могу сказать, как бы вы сделали это при сборке установщика для вашего приложения). Как только вы это сделаете, вы можете получить значение этой переменной среды в java-коде, который даст вам каталог установки вашего Приложения. Вот код для получения значения env var XYZ:
System.getenv("XYZ");
Вы могли бы использовать System.getProperty("user.dir")
которая выдаст вам текущий рабочий каталог программ, но это может быть не каталог установки.
Вместо этого из вашего установщика запишите файл в System.getProperty("user.home")
местоположение (назовите это как-то .MyApplicationConfig
сделать его скрытым файлом или поместить его в каталог {user.home}\AppData\Local
) который содержит место установки, выбранное пользователем.
Это позволит вам в будущем прочитать файл из любого места, поскольку он хранится в центральном известном месте.