JAVA-初步认识-I/O流(字符流-缓冲区-自定义-MyBufferedReader-Read方法)
一.
在使用Eclipse
使用readline操作比较好,
对readline方法进行剖析,认识它的工作原理。利用了底层的流的方法来read(buf),紧跟着用缓冲区自己的read方法从内存的数组中读数据,读完存储起来,判断回车符,形成了readline这个功能。
现在我们自己写代码来实现readline。
现在自己书写一个类,自己书写代码,书写方法,使之和readline方法的功能是一样的。
从readline方法原理的讲解中,存在三个方法的使用,后边两个方法均是属于缓冲区对象的方法。只有第一个方法是借用的父类的方法。
因此,我们在自己书写这个类时,里面要有这样的两个方法。
对谁进行高效是要先明确的,是对读取文本进行高效。对谁高效,就把谁传递进来(这是在构造函数阶段实现的)。
缓冲区对象的特点如下,(数组的角标也是指针)
这里的源是指什么?是说源文件,还是说流对象。
这里有个问题,数组的大小是多少?内存中的buf大小是多少?
bufr往buf中存放数据,是采用父类的read方法来操作的(就是底层流对应的方法)。read方法自动反映读的个数。紧跟着往外取,
那怎么算取光?有人说,取到最后一个角标就行了。直接判断角标是没有问题的。
准备这么来做,判断的方式有很多。对数据a,b,c....配备角标,设置一个变量,这个角标变量自增就可以了。有人说对固定长度的角标,进行操作,但是每次存储数据不是存满的。