IO 流是 Java基础知识中的 重点。

今天先总结一些:

先看  读取 (也就是往里in)的两大角色:

InputStream:字节输入流  ---它的本质是  抽象类

InputStream的父类就是Object了。

InputStream--是所有  字节输入流  的父类。

可谓一人之下,万人之上。

IO中,新建对象时,通常会用到 多态。所以在new对象时 InputStream 通常被搬出来 写在最左边,来限定对象的类型。

在字典中,它有9个子类,(有一个子类居然也叫InputStream,不过它是在omg.CORBA.portable包中,还没学,先不看它)。

常用的子类有FileInputStream  和  FilterInputStream(它就是大名鼎鼎的 BufferedInputStream 的父类)。

 

Reader : 字符读取流 ---它的本质也是  抽象类

Reader的父类也是Object。(跟InputStream算是亲哥兄弟了)

Reader--是所有  字符输入流  的父类

也是相当NB的存在。

在新建对象时,也会通常被抬出来放在最左边,来限定对象的类型。

在字典中,它有6个子类,比较知名的有2个  InputStreamReader(跟它大爷InputStream长的是不是很像) 和 BufferedReader

其中InputStreamReader的子类  FileReader  出镜率也比较高。