JavaでResourceBundleクラスを使用しているときに、プロパティファイルでディレクトリパスを指定できますか?

StackOverflow https://stackoverflow.com/questions/3598240

  •  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");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top