0

実行可能な JAR にエクスポートされ、YAJSW を使用してサービスとして Windows で実行される Java でプログラムを実行していconfig.iniます。実行のために重要なパラメーターを含むファイルを読み取る必要がありますが、固定パスを設定しています。

Path configFile = Paths.get("D:\\Folder\\config.ini");

問題は、最終ユーザー pc で実行されるパスがわからないことです。私はこれを試しました:

Path txtParametro = Paths.get("\\config.ini");

.ini ファイルは .jar の同じフォルダーにあるため、機能しませんでした。

誰かが私がこれをどのように処理できるか考えていますか?

私は環境変数を考えました...しかし、手動で行う必要があり、オプションではありません。

4

3 に答える 3

0

その方法で解決策を見つけました:

config.iniそれが.jarの同じフォルダーにあると仮定します

File pathJAR = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI());

実行中のjarのパスが返さ"D:\Folder\name.jar"れ、「name.jar」を「config.ini」に置き換えます。

それほど美しくはありませんが、機能します。

于 2015-06-08T18:58:16.513 に答える
0

ファイルが JAR の一部である場合は、次のようにロードできます。

Class.getResourceAsStream("config.ini");

ここで説明されているように:

jar 内の構成ファイルにアクセスするにはどうすればよいですか?

A JAR にない場合はお知らせください。

于 2015-06-08T17:55:59.823 に答える