Можем ли мы указать путь к каталогу с файлом свойств при использовании класса ResourceBundle в Java?
-
02-10-2019 - |
Вопрос
Я хочу разместить мои свойства файлов в какой-то папке, но я не могу их читать, потому что мы можем указать только имя пучка в статическом getBundle()
метод включения ResourceBundle. объект.
Предположим, пакет: myfile.properties.
Текущий путь: Src.
Я хочу сохранить файл свойств: SRC / TEMP.
Поэтому, когда я использую:
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
На классной патке этот код должен работать:
ResourceBundle.getBundle("temp.myFile");