我正在使用类org.apache.commons.configuration.PropertiesConfiguration
来解释属性文件。通过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()
的形式读取逗号分隔值的其他属性。
真奇怪,这个类的Javadoc,告诉你该怎么做:https://commons.apache.org/proper/commons-configuration/apidocs /org/apache/commons/configuration2/PropertiesConfiguration.html。怎么可能? – Tom
不要以为我在这里提问之前没有阅读过文档。如果你不相信发生这种情况,那就试试吧。 @Tom – Amita
所以你声称你已经阅读过文档,并且你仍然不知道如何使用“,”作为字符串的一部分,尽管该文档告诉你如何做到这一点?或者你想说文档中的解决方案不适合你?什么时候你为什么不添加这个问题? – Tom