📅  最后修改于: 2023-12-03 15:16:03.991000             🧑  作者: Mango
JavaObjectInputStream和ObjectOutputStream是Java语言提供的两个类,用于实现对象的序列化和反序列化。它们的使用方式和作用相同,但是它们有一些区别。
JavaObjectInputStream是Java语言提供的一个对象输入流,它可以将字节数组转化为Java对象。它继承了InputStream和ObjectInput两个类,可以通过构造方法绑定任何输入流对象。
JavaObjectInputStream提供了以下方法:
ObjectOutputStream是Java语言提供的一个对象输出流,它可以将Java对象转化为字节数组。它继承了OutputStream和ObjectOutput两个类,可以通过构造方法绑定任何输出流对象。
ObjectOutputStream提供了以下方法:
JavaObjectInputStream和ObjectOutputStream的主要区别是在输入输出流处理方面。
// 使用JavaObjectInputStream反序列化
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new JavaObjectInputStream(bis);
Object obj = ois.readObject();
// 使用ObjectOutputStream序列化
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
byte[] bytes = bos.toByteArray();