• 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);
    	}
    }
    


  • 相关阅读:
    hdu1251统计难题(trie树)
    线段树
    poj2632Crashing Robots
    UVA10194 Football (aka Soccer)
    hdu1166敌兵布阵(线段树)
    【洛谷P3810】【模板】三维偏序(陌上花开)
    【洛谷P2480】古代猪文
    【洛谷P3449】PALPalindromes
    【洛谷P4777】扩展中国剩余定理(EXCRT)
    【洛谷P2421】荒岛野人
  • 原文地址:https://www.cnblogs.com/llguanli/p/7162118.html
Copyright © 2020-2023  润新知