apache commons configuration loads property until “,” character

后端 未结 5 897
北荒
北荒 2020-12-16 13:02

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

PropertiesConfigu         


        
相关标签:
5条回答
  • 2020-12-16 13:31

    PropertiesConfiguration interprets ',' as a value separator.

    0 讨论(0)
  • 2020-12-16 13:39

    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

    0 讨论(0)
  • 2020-12-16 13:42

    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

    0 讨论(0)
  • 2020-12-16 13:44

    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
    
    0 讨论(0)
  • 2020-12-16 13:49

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

    0 讨论(0)
提交回复
热议问题