Я хочу добиться чего-то вроде -
File.properties contains,
prop1, prop2 = valueX
prop3, prop4 = valueZ
where `props.getProperty("prop1");` should return `valueX`
Я знаю, что один из способов — записать одно и то же значение снова с разными ключами, но это делает мой файл свойств загроможденным и не обеспечивает аналитического представления для бизнес-целей.
PS: Если это как-то возможно, опишите случай, когда один и тот же ключ появляется с разными значениями.
Формат, который вы описали выше prop1, prop2 = valueX, не поддерживает java.util.Properties, поэтому вам придется написать свой собственный код для чтения и анализа строк, которые выглядят так. Прочитайте файл построчно, затем проанализируйте каждую строку, ища символы-разделители, такие как = и ,.




I wish to achieve something like
File.properties contains,
prop1, prop2 = valueX prop3, prop4 = valueZwhere
props.getProperty("prop1");should returnvalueX
Документация для формат файла .properties и DTD для формата свойств XML обеспечивает только сопоставление одного ключа за раз с соответствующим литеральным значением. Эти простые форматы не поддерживают то, что вы описываете. Единственная альтернатива, которую они предоставляют, - это дать значение для каждого ключа отдельно, дублируя значения по мере необходимости.
that makes my property file cluttered and does not provide an analytical view for the business purpose.
Я думаю, это в глазах смотрящего. Лично я думаю, что ваш вариант - это просто обратная сторона той же медали. В любом случае неясно, делают ли это ключи с одинаковыми значениями случайно или потому, что важно, чтобы их значения были одинаковыми. А что касается написания таких файлов для человеческого потребления, я предпочитаю, чтобы ключи были отдельными, так как это облегчает их поиск и позволяет лучше группировать и сортировать их.
If it is somehow possible then, please describe the case where the same key appears with different values.
Хм? Каждый ключ должен иметь ровно одно значение. Не задокументировано, что должно произойти, если один и тот же ключ появляется более одного раза.
Возможно, вы имеете в виду, что один и тот же ценность назначается разным ключи, но я не понимаю, почему это в любом вопросе. Тем не менее, здесь:
prop1 = valueX
prop2 = valueX
prop3 = valueZ
prop4 = valueZ
Обратите внимание, что символы = можно заменить на : или просто пробел, если хотите. Если вам это не нравится, вы можете определить свой собственный формат и написать собственный код для разбора экземпляра в объект Properties.
«но это делает мой файл свойств загроможденным» - я думаю, что так было бы более читаемо