JavaBean持久化并不局限于Swing构件的存储,可以使用该机制存储任意对象的集合,只要遵守一些简单的规则即可。
XMLEncoder内置了对下列类型的支持:
●null
●所有基本类型及其包装器类型
●枚举(从Java SE 6开始)
●String
●数组
●集合与映射表
●反射类型Class、Field、Method和Proxy
●AWT类型Color、Cursor、Dimension、Font、Inserts、Point、Rectangle和ImageIcon
●AWT和Swing构件、边界、布局管理器和模型
●事件处理器
XMLEncoder及XMLDecoder使用案例:
//持久化map集合
Map map = new HashMap();
List list = new ArrayList();
list.add("1");list.add("2");list.add("3");
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", list); OutputStream os = new FileOutputStream("E:/a.xml");
XMLEncoder xmlEncoder = new XMLEncoder(os);
xmlEncoder.writeObject(map);
xmlEncoder.flush();
xmlEncoder.close();
//恢复持久化的map
InputStream is = new FileInputStream("E:/a.xml");
XMLDecoder xmlDecoder = new XMLDecoder(is);
Map map = (Map)xmlDecoder.readObject();