Properties в Java

Модератор: Модераторы разделов

Аватара пользователя
Hvzh
Сообщения: 711
Статус: Gone with Linux
ОС: Linux Mint 18.1

Properties в Java

Сообщение Hvzh »

Проблема следующая: есть файл с конфигурационными параметрами софта. Читаю его в Properties. При этом расчет был такой - если файл не найден в текущем каталоге, то используется файл по умолчанию из jar-архива. Но получилось следующее: даже при наличии файла в текушем каталоге все равно используется файл из jar
HP 255 G4 A6-6310 + Linux Mint 18.1 + Windoze7 under VmWare + OS X Mavericks under VmWare
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Properties в Java

Сообщение BlackStar »

Код поиска и чтения файла Properties в студию!
LightLang Team
Спасибо сказали:
Аватара пользователя
Hvzh
Сообщения: 711
Статус: Gone with Linux
ОС: Linux Mint 18.1

Re: Properties в Java

Сообщение Hvzh »

private void openProps()
{
FileInputStream inStream;
String db = null;

db = (String) combo.getSelectedItem();

try {
inStream = new FileInputStream("setup." + db.toLowerCase());
props.load(inStream);
hostField.setText(props.getProperty("dbhostname"));
dbField.setText(props.getProperty("dbname"));
nameField.setText(props.getProperty("dbuser"));
}
catch (FileNotFoundException e) {
showFileError(e);
e.printStackTrace();
}
catch (IOException e)
{
showIOError(e);
e.printStackTrace();
}
}

db - имя базы данных (MySQL, MSSQL, etc)
HP 255 G4 A6-6310 + Linux Mint 18.1 + Windoze7 under VmWare + OS X Mavericks under VmWare
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: Properties в Java

Сообщение sarutobi »

а где выбор между файлом внешним и файлом из jar? Или из jar считывается всегда а это попытка чтения с перекрытием существующих значений?
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Properties в Java

Сообщение BlackStar »

Не уверен, но вроде как надо задавать абсолютный путь к файлу в этом месте:

Код: Выделить всё

inStream = new FileInputStream("setup." + db.toLowerCase());
LightLang Team
Спасибо сказали:
iZEN
Сообщения: 225

Re: Properties в Java

Сообщение iZEN »

Сначала ищется полный путь к jar-файлу, отрезается от него название jar-файла (получается путь к каталогу, в котором лежит jar), потом уже из него формируется путь к properties-файлу, откуда и считываются значения.
Спасибо сказали: