インストーラーを作成した Java アプリケーションがあります。アプリケーションをお気に入りのディレクトリにインストールするかどうかはユーザー次第であるため、コードでは、ユーザーがアプリケーションをインストールした場所を知る必要があります。では、Java コードを使用してこの情報を取得するにはどうすればよいでしょうか。Windowsプラットフォームに固有のものが必要です。
2 に答える
プログラムの現在の作業ディレクトリを提供する which を使用できますSystem.getProperty("user.dir")
が、これはインストール ディレクトリではない可能性があります。
代わりに、インストーラーから、ユーザーが選択したインストール場所を含むSystem.getProperty("user.home")
場所にファイルを書き込みます (.MyApplicationConfig
隠しファイルにするか、ディレクトリ内に配置するなど)。{user.home}\AppData\Local
これにより、ファイルが中央の既知の場所に保存されているため、将来どこからでもファイルを読み取ることができます
ユーザーに任されているため、アプリケーションがどこにインストールされているかを見つけるのは困難です。したがって、アプリケーションのインストール ディレクトリを取得する 1 つの方法は、Windows マシンで環境変数を使用することです。インストーラーを作成するときは、環境変数を設定し (「XYZ」変数などの新しい変数を作成するか、既存の変数を使用することもできます)、その値をアプリケーション ディレクトリに設定します (使用しているインストーラーについて言及していないため)。そのため、アプリケーションのインストーラーをビルドする際にこれをどのように行うかはわかりません)。これが完了すると、この環境変数の値を Java コードで取得できます。これにより、アプリケーションのインストール ディレクトリが得られます。環境変数 XYZ の値を取得するコードは次のとおりです。
System.getenv("XYZ");