当前位置: 移动技术网 > IT编程>开发语言>Java > Java IO流体系继承结构图_动力节点Java学院整理

Java IO流体系继承结构图_动力节点Java学院整理

2019年07月22日  | 移动技术网IT编程  | 我要评论

java io体系结构看似庞大复杂,其实有规律可循,要弄清楚其结构,需要明白两点:

1. 其对称性质:inputstream 与 outputstream, reader 与 writer,他们分别是一套字节输入-输出,字符输入-输出体系

2. 原始处理器(适配器)与链接流处理器(装饰器) 

其结构图如下:

reader-writer体系 

1. 基类

inputstream与outputstream是所有字节型输入输出流的基抽象类,同时也是适配器(原始流处理器)需要适配的对象,也是装饰器(链接流处理器)装饰对象的基类.

2. 原始流处理器

原始流处理器接收byte数组对象,string对象,filedescriptor对象将其适配成inputstream,以供其他装饰器使用,他们都继承自inputstream 包括如下几个:

bytearrayinputstream: 接收byte数组为流源,为多线程通信提供缓冲区操作功能

fileinputstream: 接收一个file作为流源,用于文件的读取

pipedinputstream: 接收一个pipedoutputstream,与pipedoutputstream配合作为管道使用

stringbufferinputstream: 接收一个string作为流的源(已弃用) 

3. 链接流处理器

链接流处理器可以接收另一个流处理器(inputstream,包括链接流处理器和原始流处理器)作为源,并对其功能进行扩展,所以说他们是装饰器.

1) filterinputstream继承自inputstream,是所有装饰器的父类,filterinputstream内部也包含一个inputstream,这个inputstream就是被装饰类--一个原始流处理器,它包括如下几个子类:

bufferedinputstream: 用来将数据读入内存缓冲区,并从此缓冲区提供数据

datainputstream: 提供基于多字节的读取方法,可以读取原始数据类型(byte, int, long, double等等)

linenumberinputstream:  提供具有行计数功能的流处理器

pushbackinputstream:  提供已读取字节"推回"输入流的功能

2) objectinputstream: 可以将使用objectoutputstream写入的基本数据和对象进行反串行化

3) sequenceinputstream: 可以合并多个inputstream原始流,依次读取这些合并的原始流 

对于outputstream, reader, writer的体系结构也跟inputstream的结构类似

以上所述是小编给大家介绍的java io流体系继承结构图_动力节点java学院整理,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网