缓冲区:
缓冲区的出现提高了对数据的读写效率
对应类:
BufferedWriter
BufferedReader
缓冲区要结合流才能使用,在流的基础上对流的功能进行增强。所以创建缓冲区前要先有流。
BufferedWrited:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值足够大。
BufferedReader:
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。在大多数情况下,默认值足够大。
readLine方法原理:
无论是读取一行或者读取对个字符。其实最终都是在硬盘上一个一个读取。所以最终使用的是read方法一次读一个字符。
自定义readLine方法:
装饰设计模式:
如上面的例子所示,当我们想要对已有的对象进行功能增强时,可以自定义类将已有的对象传入。基于已有的功能,并提供加强功能。那么自定义的这个类就被称为装饰类
装饰类通常会通过构造方法接收被装饰的对象并基于被装饰的对象功能提供更强的功能
LineNumberReader:
跟踪行号的缓冲字符输入流
getLineNumber() 获得当前行号
setLineNumber() 设置当前行号
网友评论