首页 > 代码库 > Java中字节与对象之间的转换

Java中字节与对象之间的转换

 

 近期公司里面用到了消息队列,而正如我们知道的是消息队列之间的是通过二进制形式的。以下就分享一下java中字节与对象之间的转换。

 主要是用到了ByteArrayOutputStream和ObjectOutputStream两个输出流,以及ByteArrayInputStream和ObjectInputStream两个输入流。

废话不多说了,直接上代码吧!

/**     
 * @FileName: ByteToObject.java   
 * @Package:com.test   
 * @Description: TODO  
 * @author: LUCKY    
 * @date:2015年12月25日 下午12:18:08   
 * @version V1.0     
 */
package com.test;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Map;

/**  
 * @ClassName: ByteToObject   
 * @Description: 字节与对象之间的转换
 * @author: LUCKY  
 * @date:2015年12月25日 下午12:18:08     
 */
public class ByteToObject {

	public static void main(String[] args) throws Exception {
		Student stu=new Student();
		stu.setAge("15");
		stu.setName("张三");
		Map<String,  String> map=new HashMap<String, String>();
		map.put("001", "001");
		map.put("002", "002");
		stu.setWage(map);
		
		ByteArrayOutputStream byt=new ByteArrayOutputStream();
		
		ObjectOutputStream obj=new ObjectOutputStream(byt);
	
		obj.writeObject(stu);
		
		byte[] bytes=byt.toByteArray();
		System.out.println(bytes);
		
		
		ByteArrayInputStream byteInt=new ByteArrayInputStream(bytes);
		ObjectInputStream objInt=new ObjectInputStream(byteInt);
		Student stu2=new Student();
		stu2=(Student)objInt.readObject();
		
		System.out.println(stu2);
	}
}


Java中字节与对象之间的转换