流按照方向分为两种:输入流和输出流,以内存作为参照物,当从数据源中将数据读取到内存中时,叫做输入流,也叫读取流,当将内存中的数据写入到数据源时,叫做输出流,也叫写入流。

流按照传输的内容分为:字节流、字符流、对象流。无论是那种流底层部分都是以字节方式传输的,所以其本质都是字节流,但是为了方便程序员更好的操作字符数据和对象数据,所以在字节流的基础上做了一层包装,形成了字符流和对象流

字节流的父类是InputStream和OutputStream
字符流的父类是Reader和Writer

流操作的步骤
1、建立流
2、操作流
3、关闭流
操作文件流时,如果文件不存在,那么读取流时会抛出文件未找到异常,而写入流会创建新文件

流操作完成以后,必须关闭流操作,否则不仅浪费内存资源,而且写入流有可能写不进数据

序列化:当需要对对象进行传输时,由于对象中的数据很庞大,无法直接传输时,那么在传输之前,需要将对象打散成二进制的序列以便传输,这个过程称为序列化过程,到达目的地后,又需要将二进制序列还原成对象,这个过程称为反序列化过程。

所有需要实现对象序列化的对象必须首先实现 serializable接口
public class Logon implements java.io.serializable

当需要传输对象时,而该对象所在的类没有实现系列化接口时抛出:java.io.NotserializableExceotion

transient 是属性的修饰符,表示在传输对象时,被transient修饰的属性不做传输

猜你喜欢

转载自www.cnblogs.com/lbstars/p/8906045.html
今日推荐