自定义的读取缓冲区原理
package cn.itcast.p4.io.charstream.mybuffer;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/** 自定义的读取缓冲区。其实就是模拟一个BufferedReader。
** 分析:
* 缓冲区中无非就是封装了一个数组。
* 并对外提供了更多的方法对数组进行访问。
* 其实这些方法最终操作的都是数组的角标。
*
* 缓冲的原理:
*其实就是从源中获取一批数据装进缓冲区中。
*再从缓冲区中不断地取出一个一个数据。
*在此次取完后,再从源中继续抽取一批数据进行缓冲区。
*当源中的数据取光时,用-1作为结束标记。
* */
public class MyBufferedReader extends Reader {
private FileReader r;
//定义一个数组作为缓冲区。
private char[] buf = new char[1024];
//定义一个指针用于操作这个数组中的元素。当操作到最后一个元素后,指针应该归零。
private int pos = 0;
//定义一个计数器用于记录缓冲区中的数据个数。当该数据减到0,就从源中继续获取数据到缓冲区中。
private int count =0; MyBufferedReader(