其实本质仍是缓冲二字
他们内部都有一个缓冲区,就是一个字符数组
BufferedReader 会尽量多的将数据读取到本身的缓冲区,而后提供的read方法从缓冲区读取
BufferedWriter 会先将数据写入到本身的内部缓冲区,从而写入的效率将会大大提高,而后批量的将数据实际写入
|
BufferedReader BufferedWriter 也是装饰器模式 不过他是简化版的装饰器模式 没有抽象的装饰器角色 BufferedReader 和 BufferedWriter 既充当了抽象的装饰器角色,又充当了装饰器实体角色 从下面的声明以及内部变量能看出来一点端倪(不是说 是你还有你 就必定是装饰器,仍是要根据下面的业务逻辑的) 是你还有你 并且,他的确是装饰器模式,下面会简单介绍 |
![]() |
关键成员变量![]() |
首先: BufferedReader 须要 Reader 做为参数 BufferedWriter 须要 Writer 做为参数 其次: 可选的设置缓冲区的大小,不设置则使用默认值
因此, BufferedReader 和 BufferedWriter 各有两个构造方法
![]() |
支持标记 |
markSupported 返回true
mark
reset
|
String readLine() 读取一个文本行 经过下列字符之一便可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行 |
BufferedReader也例行提供了
skip
ready
close
|
write |
void write(char[] cbuf, int off, int len)
写入字符数组的某一部分
void write(int c)
写入单个字符。
void write(String s, int off, int len)
写入字符串的某一部分
|
public void newLine()
throws IOException
写入一个行分隔符 行分隔符字符串由系统属性 line.separator 定义,而且不必定是单个新行 ('\n') 符 |