流:

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

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

字节流的父类:Inputstream和Outputstream

字符流的父类:Reader和Writer

流操作的步骤:

  1. 建立流
  2. 操作流
  3. 关闭流

操作文件流时,如果文件不存在,读取流会抛出文件未找到的异常,而写入流会创建新文件。但是不会创建新目录(抛出异常)。

Bufferedreader(套接流):在一个流的基础上再套接一个流,也称为高级流

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

对象流:

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

需要实现序列化的对象在序列化之前,必须先实现Serializable接口

java.io.NotSerializableException需要传输对象时,对象没有实现序列化接口。

Transient:属性修饰符,表示在传输对象时,被transient修饰的属性值不做传输。

posted on 2018-04-22 20:05  UNIKII  阅读(75)  评论(0编辑  收藏  举报