Как я могу установить одно и то же значение для нескольких ключей в свойствах Java? - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу достичь чего-то вроде -

File.properties contains,

    prop1, prop2 = valueX
    prop3, prop4 = valueZ

where `props.getProperty("prop1");` should return `valueX`

Я знаю, что один способ - это снова написать одно и то же значение разными ключами, но это делает мой файл свойств загроможденным и не обеспечивает аналитическое представление для бизнес-целей..

PS : Если это как-то возможно, опишите, пожалуйста, один и тот же ключ с разными значениями.

1 Ответ

0 голосов
/ 28 февраля 2019

Я хочу получить что-то вроде

File.properties содержит,

prop1, prop2 = valueX
prop3, prop4 = valueZ

, где props.getProperty("prop1"); должно вернуть valueX

Документация для в формате файлов .properties и DTD для формата свойств XML позволяет обеспечить сопоставление только одного ключа за раз с соответствующим литеральным значением.Эти простые форматы не поддерживают то, что вы описываете.Единственная альтернатива, которую они предоставляют, - дать значение для каждого ключа отдельно, дублируя значения при необходимости.

, что делает мой файл свойств загроможденным и не обеспечивает аналитическое представление для бизнес-целей.

Полагаю, это в глазах смотрящего.Лично я думаю, что ваш вариант - это оборотная сторона той же монеты.В любом случае, неясно, являются ли ключи с одинаковыми значениями случайными или потому что важно, чтобы их значения были одинаковыми.А что касается написания таких файлов для использования человеком, я предпочитаю, чтобы ключи были отдельными, так как это облегчает их поиск и позволяет лучше группировать и сортировать их.

Если это как-то возможно, тогдаПожалуйста, опишите случай, когда один и тот же ключ появляется с разными значениями.

А?Каждый ключ должен иметь ровно одно значение.Не задокументировано, что должно произойти, если один и тот же ключ появляется более одного раза.

Возможно, вы имеете в виду одно и то же значение , назначаемое различным клавишам , но я нене понимаю, почему это в любом вопросе.Тем не менее, здесь:

prop1 = valueX
prop2 = valueX
prop3 = valueZ
prop4 = valueZ

Обратите внимание, что символы = можно заменить на : или просто пробел, если вы предпочитаете.Если вам это не нравится, вы можете определить свой собственный формат и написать собственный код для разбора экземпляра в объекте Properties.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...