7

プロパティファイルをいくつかのフォルダに配置したいのですが、ResourceBundleオブジェクトの静的getBundle()メソッドでバンドル名しか指定できないため、それらを読み取ることができません。

バンドルが次のようになっているとします。myFile.properties
現在のパスは次のとおりです。src プロパティファイルを次の場所に保持します:src / temp

だから私が使用しているとき:

ResourceBundle.getBundle("temp/myfile", currentLocale);

「バンドルが見つかりません」という例外をスローしています。パスを指定する方法が必要です。これを行う方法を教えてください。

ありがとうございました

4

2 に答える 2

11

これを使って:

ResourceBundle.getBundle("temp.myfile", currentLocale);

baseName呼び出しで提供されるのは、ResourceBundle.getBundle完全修飾クラス名であると想定されています。したがって、ドットで区切って記述する必要があります。また、これによりJavaコードにパッケージが作成されることに注意してtempください(これは良い考えではないと思います)。プロパティファイルをのような適切なパッケージに入れることをお勧めしますcom.xyz.abc。次に、を使用してアクセスできます

ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);
于 2010-08-30T06:23:24.590 に答える
3

間違ったファイル名(myfile!= myFile)を使用している可能性があります。

クラスパス上のmyFile.propertiesディレクトリ内のファイルの場合、次のコードが機能するはずです。temp

ResourceBundle.getBundle("temp.myFile");
于 2010-08-30T07:27:48.163 に答える