PropertiesConfiguration

时间:2017-06-20 13:22:37

标签: java properties delimiter apache-commons

我使用类org.apache.commons.configuration.PropertiesConfiguration来解释属性文件。

PropertiesConfiguration props = new PropertiesConfiguration(path);
String delimiter = props.getString("FIELD_DELIMITER");

除了一个场景外,一切都很好。当FIELD_DELIMITER的值提供为","

FIELD_DELIMTIER=","

然后,字符串delimiter的值获得为"。 除此之外,所有其他值的行为都符合预期。例如,如果属性为:

FIELD_DELIMITER="a"

然后获得字符串delimiter的值为"a"(如预期的那样)。

我试图找出问题所在。我意识到编译器将其作为逗号分隔数组,并且只读取第一个字符,即",剩下的就是其余部分。我希望阅读的逗号永远不会被解释为值。这不应该以这种方式发生,但我称之为方法getString()而不是getStringArray()

如何阅读","呢? 我无法更改拆分值的默认分隔符,因为我必须以props.getStringArray()的形式读取其他带逗号分隔值的属性。

1 个答案:

答案 0 :(得分:0)

根据JavaDoc,看起来你可以逃脱逗号。

示例(来自文档):

# commas may be escaped in tokens commas.escaped = Hi\, what'up?