回答
你有没有考虑过使用split()和trim()。
请参考下面:
的ResourceBundle RB = ResourceBundle.getBundle(Prop.class.getName());
String fooValue = rb.getString("foo");
String[] firstSplit = fooValue.split(";");
for(String first : firstSplit){
String firstTrim = first.trim();
String[] intAndString = firstTrim.split(",");
if(intAndString.length == 2){
String intString = intAndString[0].trim();
String stringVal = intAndString[1].trim();
//TODO add entries here or return value.
}
}
这可能是矫枉过正你想要做什么,你的长期计划,但我发现,这种事情是很容易通过Spring框架来处理。
下面是一个参考,显示如何handle collections including maps。
这里还有一个general article on Spring
这里的地图是什么样子的Spring配置文件
<beans>
<bean id="foo" class="x.y.Foo">
<property name="accounts">
<map>
<entry key="one" value="9.99"/>
<entry key="two" value="2.75"/>
<entry key="six" value="3.99"/>
</map>
</property>
</bean>
</beans>
使用XML而不是属性用自己的语言来表示更复杂的结构文件中,这将是较少的工作,少车,更容易维护。
您可以使用绑定技术(如JIBX和XML Beans)使事情更轻松。
在这个例子中最简单的事情就是为它创建一个单独的属性文件。然后,它只是名称/值对,就像
栏= 5 巴兹= 10
如果这是一个很大的表,我不想把它与更普遍的东西混合。如果它是一个3对的桌子,那就不一样了。
属性文件实际上是复杂数据结构的最佳解决方案。它们是用于名称/值对的。如果你超越了这个范围,当然,你可以通过发明一种语法来实现它,但为什么要麻烦?如果它是一种超级复杂的语法,则XML是可能的。或者它可能属于关系数据库。或者一个CSV文件。选择一个符合要求的工具,先不要决定工具,然后尝试使其合适。
我实际上最终使用了独立的属性文件和Koekiebox解决方案的组合。我通过使用读取字符串解析并映射它来创建类的实例。我对这个解决方案非常满意,因为它到目前为止效果很好,更不用说它的可读性了。 – 2009-09-04 17:59:43
- 1. 映射属性从JsonNode
- 2. 从属性文件解析枚举
- 3. NumberFormatException从属性文件解析数值?
- 4. 映射属性
- 5. 映射属性?
- 6. 我可以从属性文件加载Hibernate映射文件的属性值吗?
- 7. log4j2映射XML到属性文件
- 8. 映射文件 - *一个属性
- 9. 如何解析/映射JavaFX CSS文件以检索其属性和值?
- 10. GraphQL解析映射
- 11. 使用Java解析器从Java文件解析属性
- 12. Automapper - 使用1解析器映射多个属性
- 13. 解析和映射具有动态属性的JSON对象
- 14. Weblogic.xml及其无法解析“URL映射类”属性
- 15. 无法解析平均LINQ到NHibernate映射对象的属性
- 16. Mule 3.3.0 - 全局属性未从属性文件中解析
- 17. Automapper映射属性
- 18. org.hibernate.InvalidMappingException:无法从资源解析映射文件COM /拉拉/ Person.hbm.xml
- 19. 自动映射:从自动对象中解析源属性名称
- 20. 如何使用升压C++属性映射从配置文件
- 21. 解释gcc映射文件
- 22. 理解文件映射
- 23. InvalidMappingException:无法解析映射文档
- 24. 休眠无法解析映射文档
- 25. protobuf文本格式解析映射
- 26. NSManagedObject解析与RestKit映射
- 27. NHibernate:复合键多对一映射:无法解析属性(外键组件)
- 28. NHibernate的映射袋从属性
- 29. 从MvcHtmlString解析属性
- 30. Ommit在映射类属性的属性
如果您的字符串需要包含逗号或分号,该怎么办? – Tom 2009-09-04 17:34:28
我确定这不会是一个问题。另外,它总是可以交换给其他角色。 – 2009-09-04 17:37:08