apache commons配置加载属性,直到“,”字符
我想从属性文件加载配置(apache commons配置)。 我的计划是:
PropertiesConfiguration pc = new PropertiesConfiguration("my.properties"); System.out.println(pc.getString("myValue"));
在my.properties
我有
myValue=value,
用逗号
当我运行程序时,输出是value
,而不是value, with comma
。 看起来像值被加载,直到,
字符。
有任何想法吗?
检查Javadoc 。 您必须setDelimiterParsingDisabled(true)才能禁用解析属性列表。
该行为已明确记录 ,即, PropertiesConfiguration
将带逗号的值视为多个值,允许以下内容:
fruit=apples,banana,oranges
理智地解释。 修复(来自doc)是添加反斜杠以逃避逗号,例如,
myKey=value\, with an escaped comma
实际上propConfig.setDelimiterParsingDisabled(true)正在运行,但您必须在此设置后加载配置文件,例如:
propConfig = new PropertiesConfiguration(); propConfig.setDelimiterParsingDisabled(true); propConfig.load(propertiesFile);
如果您的代码是:
propConfig = new PropertiesConfiguration(propertiesFile); propConfig.setDelimiterParsingDisabled(真);
然后设置将无法正常工作
PropertiesConfiguration将’,’解释为值分隔符。
如果您在\
之前放置\
,则将其转义,然后您可以读取该值
例:
myValue=value\, with comma
你读取= value, with comma
没有问题
- 根据Java中的元素属性将列表拆分为多个子列表
- 如何使用apache commons配置(java)加载xml文件?
- Google Guava vs. Apache Commons
- 在GenericObjectPool中创建对象
- 使用Apache Commons FTPClient监控进度
- 属性文件未使用Apache Commons Configuration反映修改的更改
- FTPClient.listFiles无法正常工作
- 如何使用apache通用配置加载多个配置文件(java)
- 为什么我用Apache Commons FileUpload获得“FileUploadException:Stream意外结束”?