- 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 对象序列化成字符串和反序列
最新推荐文章于 2022-03-13 17:02:52 发布