apache commons configuration loads property until “,” character

时间秒杀一切 提交于 2019-11-29 03:28:37

Check Javadoc. You have to setDelimiterParsingDisabled(true) to disable parsing list of properties.

That behavior is clearly documented, i.e., that PropertiesConfiguration treats a value with a comma as multiple values allowing things like:

fruit=apples,banana,oranges

to be interpreted sensibly. The fix (from the doc) is to add a backslash to escape the comma, e.g.,

myKey=value\, with an escaped comma

Actually propConfig.setDelimiterParsingDisabled(true) is working, but you must load the config file after this setting, for example:

propConfig = new PropertiesConfiguration();
            propConfig.setDelimiterParsingDisabled(true);
            propConfig.load(propertiesFile);

if your code like is :

propConfig = new PropertiesConfiguration(propertiesFile); propConfig.setDelimiterParsingDisabled(true);

then the setting won't work

PropertiesConfiguration interprets ',' as a value separator.

WarsClon

If you put \ before the ,, you escape it, and you can read the value

Example:

myValue=value\, with comma

You read = value, with comma without problems

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!