java 对象的序列化简单例子

来源:互联网 发布:网络机顶盒摇控器下载 编辑:程序博客网 时间:2024/05/18 04:01
 public static byte[] compress(byte[] source) throws Exception{
ByteArrayOutputStream o = new ByteArrayOutputStream();
//建立gzip压缩输出流  
GZIPOutputStream gzout = new GZIPOutputStream(o);
gzout.write(source);
gzout.finish();
gzout.close();


byte[] data_ = o.toByteArray();

o.close(); 
return data_;
 }
 
 public static byte[] unCompress(byte[] zipsource) throws Exception{
ByteArrayInputStream input = new ByteArrayInputStream(zipsource);
GZIPInputStream gzin = new GZIPInputStream(input);


//--------------------
int count;
int BUFFER = 3;
byte data[] = new byte[BUFFER];
ByteArrayOutputStream outS = new ByteArrayOutputStream();
while ((count = gzin.read(data, 0, BUFFER)) != -1) {
outS.write(data, 0, count);
}
//--------------------
input.close();
gzin.close();
return outS.toByteArray();
 }  



    public static Object clone(Object ObjectInstance) {
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(ObjectInstance);


ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut
.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
return in.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
    
    public static byte[] ObjectToBytes(Object ObjectInstance) {
        try {
            ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
            ObjectOutputStream out = new ObjectOutputStream(byteOut);
            out.writeObject(ObjectInstance);


            return byteOut.toByteArray();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }


    public static Object BytesToObject(byte[] hexs) {
        try {
            ByteArrayInputStream byteIn = new ByteArrayInputStream(hexs);
            ObjectInputStream in = new ObjectInputStream(byteIn);
            return in.readObject();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
0 0
原创粉丝点击