缓存流的原理:
原理:
在原有的基础流上,增加一个缓存。在速度上,比其他的基本流要更快,相当于是装了火箭筒的汽车。
字节缓冲分两种
BufferInputStream(字节缓冲输出流) 和 BufferOutPutStream(字节缓冲输入流)
来源:
- java.lang.Object
- java.io.InputStream
- java.io.FilterInputStream
- java.io.BufferedInputStream
- java.io.FilterInputStream
- java.io.InputStream
介绍 字节缓冲输入流 (输入的跟输出的类似)
常用方法
- 构造方法
BufferedInputStream(InputStream in) // 传入一个基础流对象,通过缓存流保存在其缓存区里
BufferedInputStream(InputStream in, int size) // 同上,当缓存区的size 可设置 - 内置方法:
close() //释放资源
int read() //每次只读一个字节
int read(byte[] b, int off, int len) //每次从byte数组 从 off 位置读取len个元素
如何使用:
使用步骤:
创建一个 FileInputStream对象,指定文件作为目的地址
一个BufferedInputStream对象,FileInputStream作为参数传入其中
输入缓冲流调用read方法读取数据到内部缓冲区
再调用flush()把缓存区里的数据刷新到内存
用close()释放资源(会先调用flush(),刷新数据)
字符缓冲分两种
BufferWriter 字符缓冲输出
BufferReader 字符缓冲输入
来源 :
继承自 Writer Reader
介绍 字符缓冲输出流 (输入的跟输出的类似)
常用方法
- 构造方法
BufferedWriter(Writer out) // 使用一个缓存区 对 基本流进行加强
BufferedWriter(Writer out, int sz) // 同上,可设置缓存区 的size
新方法
BufferedWriter 的 newLine() 这个方法可以根据系统的不同来增加换行符
可以查看源码知 println 也是调用这个newLine方法
BufferReader 的 readline方法 这个方法只读取一行内容,读到有换行的标志结束(比如 \r ; \n ; \r\n ; end-of-file (EOF))
如何使用:
使用步骤:
创建一个 FileWriter对象,指定文件作为目的地址
一个BufferedIWriter对象,FileWriter作为参数传入其中
输入缓冲流调用read方法读取数据到内部缓冲区
再调用flush()把缓存区里的数据刷新到内存
用close()释放资源(会先调用flush(),刷新数据)