A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

IO--IO流继承体系结构1.   IO继承体系结构1). IO继承体系结构图示省略2). IO四大继承体系相互比较和对应关系
(1). 横向比较 ----对应关系
[1]. WriterReader对应关系说明
{1}. Writer体系中的PrintWriterReader没有对应的类存在
{2}. Reader体系中的PushbackReaderLineNumberReaderWriter没有对应的类存在
[2]. OutputStreamInputStream对应关系说明
{1}. OutputStream体系中的PrintStreamInputStream没有对应的类存在
{2}. InputStream体系中的SequenceInputStreamLineNumberinputStreamPushbackInputStreamheStringBufferInputStreamOutputStream没有对应的类存在
(2). 纵向比较I ----字节流和字符流继承体系结构的对应关系
[1]. InputStream中的StringBufferInputStreamReader中的StringReader对应
[2]. InputStream中的ByteArrayInputStreamReader中的CharArrayReader对应
对应的原因】就是因为ByteArray表示字节数组,字节中融合编码表就是字符。因此ByteArrayInputStreamCharArrayInputStream对应
[3]. InputStream中的StringBufferInputStreamReader中的StringReader对应
对应的原因】就是StringBuffer类和String类本身就是前者是后者的缓冲区,可以转换。
[4]. 字节流没有转换流作为子类转换流是字符流的特有子类
[5]. 打印字节流PrintStream比较特殊不是PrintOutputStream,结尾就是Stream。原因就是Print这个词本身就表示“打印”就有向外输出的含义
(3). 纵向比较II -----字节流和字符流继承体系结构的层次变动
[1]. FileInputStreamFileReader/FileOutputStreamFileWriter
{1}. InputStreamFileInputStreamInputStream直接子类
{2}. 但是在Reader中确实InputStreamReader直接子类
{3}. 这个原因就是Reader操作文本数据,因此需要编码表,而InputStreamReader恰恰就是将InputStream+ 编码表融合之后生成需要的字符流,所以在ReaderFileReader就变成了第二级的子类存在FileOutputWriter也是一样的道理。
[2]. BufferedInputStreamBufferedReader/BufferedOutputStreamBufferedWriter
{1}. BufferedInputStreamInputStream中处于第三级别子类,直接父类是FilterInputStream
{2}. 但是对应的BufferedReaderReader体系中处于第二级别子类,直接和FilterReader并列。BufferedOutputStream道理也是一样的。
[2]. LineNumberInputStreamLineNumberReader
{1}. LineNumberInputStreamInputStream处于第三级别子类,直接父类是FilterInputStream
{2}. 但是在Reader继承体系中,LineNumberReader层次仍然是第三级别子类,但是直接跟随BufferedReader脱离了FilterReader

评分

参与人数 1黑马币 +6 收起 理由
happyli53 + 6 很给力!IO总结的很及时,正好今天休息啊.

查看全部评分

1 个回复

倒序浏览
共同学习啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马