CodeNode_1.1.0_Java序列化接口

定义

Java中的序列化是指将一个Java对象“转换”为一串连续的byte字节(字节数组或者流),以便写入文件或者通过socket(套接字)发送出去。这一串字节码包括了对象的数据,以及其成员变量的类型信息(元信息)等。
反序列化:将文件或者socket中读取字节,还原回Java对象。

package JavaNote_103;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public interface JavaNote_112_ObjectSerializer {
    
    
    // 将指定对象序列化为字节数组
    byte[] serialize(Object obj) throws IOException;

    // 将指定对象序列化并输出到流
    void serialize(Object obj, OutputStream os) throws IOException;

    // 将字节数组反序列化为指定类型的对象(确定该对象会是何种类型的时候)
    <T> T deserialize(byte[] bytes, Class<T> clazz) throws IOException;

    // 从流中读取数据并反序列化为指定类型的对象(确定该对象是何种类型的时候)
    <T> T deserialize(InputStream is, Class<T> clazz) throws IOException;

    // 从流数据中读取并反序列化对象(不确定对象是何种类型的时候)
    Object deserialize(InputStream is) throws IOException,ClassNotFoundException;

    // 将字节数组反序列化为指定对象(不确定对象类型时)
    Object deserialize(byte[] bytes) throws IOException,ClassNotFoundException;

    // 以对象为模板。反序列化得到新的T
    <T> T deserialize(byte[]b, T co) throws ClassNotFoundException,IOException;

}

猜你喜欢

转载自blog.csdn.net/h201601060805/article/details/130845174