2

我有一个 java 应用程序,我已经为其安装了一个安装程序。在代码中,我需要知道用户在哪里安装了应用程序,因为用户可以将应用程序安装在他最喜欢的目录中。那么如何使用 java 代码获取这些信息呢?我需要它特定于 Windows 平台。

4

2 回答 2

2

您可以使用System.getProperty("user.dir")which 将为您提供程序当前的工作目录,但这可能不是安装目录。

相反,从您的安装程序中,将文件写入包含用户选择的安装位置的System.getProperty("user.home")位置(将.MyApplicationConfig其称为隐藏文件,或将其放在目录中{user.home}\AppData\Local)。

这将允许您在将来的某个时间从任何位置读取文件,因为它存储在一个已知的中央位置

于 2014-09-11T05:51:21.230 回答
1

很难找到应用程序的安装位置,因为它由用户决定。因此,获取应用程序安装目录的一种方法是在 windows 机器上使用环境变量。当您制作安装程序时,设置一个环境变量(您可以创建一个新变量,例如“XYZ”变量,也可以使用现有变量),并将其值设置为应用程序目录(因为您没有提及您正在使用的安装程序所以我无法告诉您在为您的应用程序构建安装程序时如何做到这一点)。完成此操作后,您可以在 java 代码中获取此环境变量的值,这将为您提供应用程序的安装目录。这是获取 env var XYZ 值的代码:

System.getenv("XYZ");
于 2014-09-11T05:44:05.477 回答