apache commons configuration loads property until "," character

Tyler picture Tyler · Jun 10, 2011 · Viewed 9.1k times · Source

I want to load configuration (apache commons configuration) from a properties file. My program is:

PropertiesConfiguration pc = new PropertiesConfiguration("my.properties");
System.out.println(pc.getString("myValue"));

In my.properties I have

 myValue=value,

with comma

When I run program the output is value, not value, with comma. Looks like value is loaded until , character.

Any ideas?

Answer

ig0774 picture ig0774 · Jun 10, 2011

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