我有一个java应用程序,我已经安装了它。在代码中,我需要知道用户安装应用程序的位置,因为用户可以在他喜欢的目录中安装应用程序。那么如何使用java代码获取此信息呢?我需要它特定于Windows平台。
答案 0 :(得分:1)
您可以使用System.getProperty("user.dir")
来为程序提供当前工作目录,但这可能不是安装目录。
相反,从安装程序中,将文件写入System.getProperty("user.home")
位置(称之为.MyApplicationConfig
,使其成为隐藏文件,或将其放在{user.home}\AppData\Local
中的目录中)其中包含用户选择的安装位置。
这将允许您在将来的某个时间从任何位置读取文件,因为它存储在一个中心的已知位置
答案 1 :(得分:0)
很难找到安装应用程序的位置,因为它留给了用户。因此,获取应用程序安装目录的一种方法是在Windows机器上使用环境变量。制作安装程序时,设置一个环境变量(您可以创建一个新的说法" XYZ"变量或者也可以用于现有变量),并将其值设置为应用程序目录(正如您所做的那样)。提到你正在使用的安装程序,所以我无法告诉你如何为你的应用程序构建安装程序)。完成此操作后,您可以在java代码中获取此环境变量的值,这将为您提供Application的安装目录。这里是获取env var XYZ值的代码:
System.getenv("XYZ");