黑马程序员_java的IO流(对第十九课字符缓冲区及装饰设计模式的总结)

------- android培训java培训、期待与您交流! ----------

通过今天对java语言IO流的学习,我来给自己的学习内容做下简单直白的总结:

首先,我先来总结下字符流的缓冲区:缓冲区的出现提高了对数据的读写效率...

注意:缓冲区要结合流才能使用,它在流的基础上,对流的功能进行了增强...

字符流缓冲区对应的2个类:  BufferedReader    BufferedWriter


缓冲区的出现是为了提高流操作数据的效率,所以在创建缓冲区之前,要先有流对象..

那么,缓冲区是如何对字符写入流对象加强功能的?(加强字符写入流)代码如图:



那么,缓冲区是如何对字符读取流对象加强功能的?(加强字符读取流)代码如图:


以上是缓冲区对字符读取流和字符写入流的加强总结...

扩展:readerLine()方法,返回的时候只返回回车符之前的数据,并不返回回车符..

readerLine()方法的原理:无论是读一行或者获取多个字符,其实最终都是在硬盘上一个字符一个字符的读取,最终使用的还是read()方法:一个一个的读取...



下面我来总结下什么是装饰设计模式:

当想对已有的对象功能方法进行增强时,可以定义类,将已有的对象传入,基于已有的对象功能方法,提供加强功能...那么自定义的该类就被称为装饰类..

装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象功能,提供更强的功能..


装饰类和继承的区别:

装饰模式比继承要灵活,避免了继承体系的臃肿,降低了类与类之间的关系..

装饰类因为是增强已有的对象,具备的功能和已有的对象功能是相同的,只不过提供了更强的功能...所以装饰类和被装饰类通常都属于一个体系中的...(比如:缓冲区(BufferedReader)就是一个装饰类,它对字符读取流对象(FileReader)的功能进行了增强,他们都是Reader的子类,都在一个体系中)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值