------- android培训、java培训、期待与您交流! ----------
通过今天对java语言IO流的学习,我来给自己的学习内容做下简单直白的总结:
首先,我先来总结下字符流的缓冲区:缓冲区的出现提高了对数据的读写效率...
注意:缓冲区要结合流才能使用,它在流的基础上,对流的功能进行了增强...
字符流缓冲区对应的2个类: BufferedReader BufferedWriter
缓冲区的出现是为了提高流操作数据的效率,所以在创建缓冲区之前,要先有流对象..
那么,缓冲区是如何对字符写入流对象加强功能的?(加强字符写入流)代码如图:
那么,缓冲区是如何对字符读取流对象加强功能的?(加强字符读取流)代码如图:
以上是缓冲区对字符读取流和字符写入流的加强总结...
扩展:readerLine()方法,返回的时候只返回回车符之前的数据,并不返回回车符..
readerLine()方法的原理:无论是读一行或者获取多个字符,其实最终都是在硬盘上一个字符一个字符的读取,最终使用的还是read()方法:一个一个的读取...
下面我来总结下什么是装饰设计模式:
当想对已有的对象功能方法进行增强时,可以定义类,将已有的对象传入,基于已有的对象功能方法,提供加强功能...那么自定义的该类就被称为装饰类..
装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象功能,提供更强的功能..
装饰类和继承的区别:
装饰模式比继承要灵活,避免了继承体系的臃肿,降低了类与类之间的关系..
装饰类因为是增强已有的对象,具备的功能和已有的对象功能是相同的,只不过提供了更强的功能...所以装饰类和被装饰类通常都属于一个体系中的...(比如:缓冲区(BufferedReader)就是一个装饰类,它对字符读取流对象(FileReader)的功能进行了增强,他们都是Reader的子类,都在一个体系中)