作者:Flieny 撰写日期:2019年05月09日
使用软件及关键技术:JAVASE1.7、MyEclipse10
JAVA缓冲流(BufferedReader)简单讲解
缓冲流,在读取数据时,让数据在缓冲区能够减少系统实际对原始数据来源的存取次数,因为一次能做多个数据单位的操作。
相较而言,对于直接从文件读取数据或者将数据写入文件,比起缓冲区的读写要慢的多,所以使用缓冲区的流,一般都会比没有缓冲区的流效率更高。
所以拥有缓冲区的流被称为缓冲流,它包含了BuffereReader、BuffereWriter类和BuffereOutputStream和BufferedInputSteam类,缓冲流把数据从原始流成块读入或把数据积累到一个大数据块后在成批写出,通过减少通过资源的读写次数来加快程序的执行。
BufferedReader是Reader的子类,可以Reader的方法,从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组和行的高效读取,BufferedReader的作用是为其他的字符输入流添加一些缓冲功能。
创建BufferedReader时,会通过它的构造函数指定某个Reader作为参数,BuffereReader会将该Reader中的数据分批的读取,每次读取一部分到缓冲区中,操作完缓冲中的这部分数据之后,再从Reader中读取下一部分的数据。
buffereReader类提供了一个一次读取一行的方法readLine,它方便与对文本数据的获取
它在执行的时候,需要创建一个读取流对象和文件相关联,它在提高效率的时候,加入了缓冲技术,将字符读取对象作为参数,并将它传递给缓冲对象的构造函数。
它的代码部分:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderDemo{
public static void main(String[] args) throws IOException{
//在这里抛一个IO异常,才能运行
FileReader fr =new FileReader(“E:/buf.txt”);//创建一个读取流对象和文件相关联
//为了提高效率,加入缓冲技术,将字符读取对象做为参数
bufferedReader bufr = new buffereReader(fr);//创建buffereReader类对象
String line =null;//创建字符串对象
while((line=bufr.readLine())!=null)//如果行数不为NULL,则进入循环
{
System.out.println(line);//打印文件夹中的对象
}
String s1=bufr.readLine();
//System.out.println(“s1:”+s1);
bufr.close();//关闭流
}
}
在执行完了之后,一定要使用bufr.clase()方法将已经读入的流关闭。
运行后的结果:
abcd1
abcd2
abcd3
abcd4
abcd5
abcd6
abcd7
abcd8
总结:在学习缓冲流(BuffereReader)的时候,我们要注意了,BuffereReader类它要执行必须得创建一个读写流的对象,它的读写流的对象就是读取对象,它将读写对象作为参数,要获取数据时就在这个参数中读取出来。