Можем ли мы указать путь к каталогу с файлом свойств при использовании класса ResourceBundle в Java?

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

  •  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");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top