JavaでResourceBundleクラスを使用しているときに、プロパティファイルでディレクトリパスを指定できますか?
-
02-10-2019 - |
質問
プロパティファイルを一部のフォルダーに配置したいのですが、静的でバンドル名のみを指定できるため、読み取ることができません。 getBundle()
メソッドオン ResourceBundle 物体。
バンドルが次のとおりです。 myfile.properties
現在のパスは次のとおりです。 SRC
プロパティファイルを次のように保ちたいのですが。 SRC/温度
だから私が使用しているとき:
ResourceBundle.getBundle("temp/myfile", currentLocale);
例外「バンドルが見つかりません」を投げています。パスを指定する方法が欲しいです。これを行う方法を提案してください。
ありがとうございました
解決
これを使って:
ResourceBundle.getBundle("temp.myfile", currentLocale);
baseName
で提供されます ResourceBundle.getBundle
通話は、完全に資格のあるクラス名であると想定されています。したがって、それはドットで分離されて書く必要があります。また、これが作ることに注意してください temp
Javaコードのパッケージ(これは良い考えではないと思います)。プロパティファイルを次のように適切なパッケージに配置することをお勧めします com.xyz.abc
. 。その後、使用してアクセスできます
ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);
他のヒント
間違ったファイル名(myfile!= myfile)を使用している可能性があります。
ファイルの場合 myFile.properties
ディレクトリ内 temp
ClassPathでは、このコードは機能するはずです。
ResourceBundle.getBundle("temp.myFile");
所属していません StackOverflow