1、IO流有四个抽象基类: (1) 字节流: InputStream 读取 、 OutputStream 写入。
(2) 字符流: Reader 读取 、 Writer 写入 。
四个抽象基类是抽象类,所以不能直接new出。
2、很多类的命名都有一定规律,可以根据其规律进行猜测其父类或者具备的功能以及new出对象时传入的参数类型。
(1) 命名规律一:操作对象+父类,即名称的前面是所要操作的对象,后面是父类。
可简单推测出 Reader 的用于操作文件的子类有:FileReader等,同样可猜测字符流的相关类。一般这种命名的类传入的参数类型是用于操作的对象,如FileReader传入参数为File、String(用于描述File的位置)等。
特殊的流:InputStreamReader用于操作字节流的,即转换流。
(2) 命名规律二:功能+父类,这是装饰类的命名规律。
装饰类就是对原有类的功能进行加强,为保证类的扩展性,减少类体系的臃肿,将父类作为参数传入。于是将父类的子类传入,就可以加强各个子类的功能,而不会使得类体系变得很复杂。如:BufferedReader 是Reader的装饰类,传入的参数是Reader类型,Reader是抽象类,故传入的是Reader的子类FileReader、InputStreamReader等。
|
|