java中把对象转化为byte数组的方法

首先对象要继承Serializable接口

     private   static  java.lang.Object ByteToObject( byte [] bytes) {
        java.lang.Object obj;
        
try {
        
//bytearray to object
        ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
        ObjectInputStream oi 
= new ObjectInputStream(bi);

        obj 
= oi.readObject();

        bi.close();
        oi.close();
        }

        
catch(Exception e) {
            System.out.println(
"translation"+e.getMessage());
            e.printStackTrace();
        }

        
return obj;
    }

 

     public   byte [] ObjectToByte(java.lang.Object obj)
    
{
        
byte[] bytes;
        
try {
            
//object to bytearray
            ByteArrayOutputStream bo = new ByteArrayOutputStream();
            ObjectOutputStream oo 
= new ObjectOutputStream(bo);
            oo.writeObject(obj);

            bytes 
= bo.toByteArray();

            bo.close();
            oo.close();    
        }

        
catch(Exception e) {
            System.out.println(
"translation"+e.getMessage());
            e.printStackTrace();
        }

        
return(bytes);
    }

这里都是java.lang.Object是因为我要用于Corba中,只写Object会引起类型冲突。

 

你可能感兴趣的:(JAVA)