JAVA:IO流 之 处理流之Object流(4)

本文介绍了JAVA中的ObjectInputStream和ObjectOutputStream,它们用于对象的序列化和反序列化。对象序列化是将对象转换为字节数据流的过程,便于对象的存储和传输,需要对象实现Serializable接口。通过示例展示了如何使用这两个流进行操作。
摘要由CSDN通过智能技术生成

1. ObjectInputStream和ObjectOutputStream

  • (1)要存储一个对象,只要把该对象的所有的成员变量都存储起来就能实现了。同时,我们只要读取了一个对象原来保存的所有成员变量的值,就等于读取到了一个对象。

  • (2)ObjectInputStream和ObjectOutputStream流,就可以完成保存和读取对象成员变量取值的过程。

  • (3)要读写或存储的对象必须要被序列化,ObjectOutputStream和ObjectInputStream流保存和读取对象的机制分别是序列化和反序列化。实现对象的序列化,就是要使该对象实现Serializable接口。Serializable接口中没有定义任何方法,仅仅被用作一种标记,以便编译器作特殊处理。
  • (4)对象序列化就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便地实现对象的传输和存储。

  • (5)序列化的好处在于:它可以将任何实现了Serializable接口的对象转换成为连续的字节数据,这些数据以后仍可以被还原原来的对象状态,即使这些数据通过网络传输也没问题。序列化能处理不同操作系统上的差异,我们可以在Windows上产生某个对象,将它序列化存储,然后通过网络传到linux机器上,该对象仍然可以被正确重建出来,在这期间,我们完全不用担心不同机器上的不同的数据表示方式。

2. 示例

import java.io.*;
public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值