62,621
社区成员
发帖
与我相关
我的任务
分享
public static void main(String args[]) throws Exception
{
Map map = new HashMap();
map.put("a", "a");
map.put("b", "b");
map.put("c", "c");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(baos);
out.writeObject(map);
out.close();
System.out.println(baos.toByteArray());
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
Map map2 = (Map)in.readObject();
System.out.println(map2);
}
以及转化list对象:
public byte[] getByte(List<Object> list) {
byte[] buf = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 构造一个字节输出流
ObjectOutputStream oos;
try {
oos = new ObjectOutputStream(baos);
// 构造一个类输出流
oos.writeObject(list); // 写这个对象
buf = baos.toByteArray(); // 从这个地层字节流中把传输的数组给一个新的数组
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return buf;
}
public List<Object> getObject(byte[] b) {
List<Object> list=null;
// 构建一个类输入流,地层用字节输入流实现
try {
ByteArrayInputStream bais = new ByteArrayInputStream(b);
ObjectInputStream ois;
ois = new ObjectInputStream(bais);
list =(List<Object>) ois.readObject();
// ArrayList str = (ArrayList) ois.readObject(); //读取类
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}