Java:Marshal unmarshal to .properties format?

时间:2012-09-29 05:37:48

标签: java properties jaxb marshalling

注意,这不是关于封送属性对象。

我想要以属性格式编组。例如:

class Foo { String a = "aaa"; Item i = new Item(); }
class Item { String val = "Value"; }

marshall( new 

a = Hello
i.value = Value

我知道这种方法有其局限性,但没关系。

这些方面有什么东西吗?

如果没有,是否有一些简单的表达式语言库可以同时执行这两种操作 - 查询对象识别"字符串键"在它的对象树中?

我已经检查了BeanUtils - 没有。

1 个答案:

答案 0 :(得分:1)

您可以使用objectprops(http://code.google.com/p/objectprops/):

ObjectPropertiesStore store = new ObjectPropertiesStore();

// write the object to the store        
store.writeObject(new Foo());

// let's get the Properties object and print the contents to System.out
Properties properties = store.getDatabase();
properties.store( System.out, "My test");

或者您可以使用commons-lang的ReflectionToStringBuilder以及传递您自己实现的自定义ToStringStyle以及将生成的字符串加载到Properties对象中的方式轻松实现。