JAVA 对象序列化成字符串和反序列

package lmiky.test.obj;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class SerTest {/** * 方法说明 * @author lmq0382 * @date 2012-6-11 * @param args */public static void main(String[] args) throws Exception {List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();HashMap<String, String> map = new HashMap<String, String>();map.put("number", "123");map.put("name", "test");list.add(map);HashMap<String, String> map2 = new HashMap<String, String>();map2.put("number", "1232");map2.put("name", "test2");list.add(map2);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);objectOutputStream.writeObject(list);String serStr = byteArrayOutputStream.toString("ISO-8859-1");serStr = java.net.URLEncoder.encode(serStr, "UTF-8");objectOutputStream.close();byteArrayOutputStream.close();System.out.println(serStr);String redStr = java.net.URLDecoder.decode(serStr, "UTF-8");ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(redStr.getBytes("ISO-8859-1"));ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); List<HashMap<String, String>> newList = (List<HashMap<String, String>>)objectInputStream.readObject(); objectInputStream.close();byteArrayInputStream.close();for(Map m : newList) {System.out.println(m.get("number") + " " + m.get("name"));}}}

版权声明:本文为博主原创文章,,未经博主允许不得转载。

涉水而过的声音此次想起,

JAVA 对象序列化成字符串和反序列

相关文章:

你感兴趣的文章:

标签云: