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();