Java的序列化和反序列化

Java的序列化和反序列化是什么?

Java的序列化是指将对象转成二进制流存入到内存或文件中,

Java的反序列化是指从内存中或文件中读取二进制流转换成对象

为什么需要java的序列化和反序列化?

就是应用场景?有:比如图片、文件进行传输,需要将其转换成二进制流的方式(序列化),

而接受方需要读取对应的(反序列化),除了这个主要还用于网络传输(进程之间的通信)

如何实现序列化OutputStream 反序列化(InputStream)?

实现接口Serializable接口和Externalizable接口

public class ObjectOutputStream extends OutputStream implements  ObjectOutput{

}

public class ObjectInputStream extends InputStream implements ObjectInput{

}

public Studet implements Serializable{

    private String name;

private String sex;

private int age;

 set    get

toString

 

}

 

public void  SerializableTest{

Student s=new Student("小红","女",22);

    ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File("E:\Student.txt")));

    oos.wirteObject(s);

   oos.close;

 

}

public void SerializableTest02{

Student s=new student("小小","男",22);

     ObjectInputStream ois=new ObjectInputStream(new InpuStream(new File("E:\Studeng.txt"));

      Student  ss=(Student)ois.readObject();

    System.out.println(ss);

  ois.close();//反序列化

   

}

posted @ 2018-01-12 11:07  超重语言  阅读(318)  评论(0编辑  收藏  举报