黑马程序员技术交流社区

标题: 字符流的缓冲区(总结) [打印本页]

作者: zhoubinjian    时间: 2016-4-22 00:36
标题: 字符流的缓冲区(总结)
字符流的缓冲区:

缓冲区的出现提高了数据读写的效率;
对应类:BufferedWriter,BufferedReader

缓冲区要结合流才可以使用;
在流的基础上对流的功能进行了增强;



字符写入流缓冲区:

缓冲区的出现是为了提高流的操作效率而出现的。
所以在创建缓冲区之前,必须先有流对象。
该缓冲区中提供了一个跨平台的换行符:newLine();


创建一个字符写入流对象
FileWriter fw= new FileWriter("buf.txt");

为了提高字符写入流效率,加入了缓冲技术。
只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
BufferedWriter bufw= new BufferedWriter(fw);

写入数据
bufw.write("abcd");
bufw.newLine();//换行
bufw.flush();//记住:只要用到缓冲区写入,就要记得刷新。

字符读取流缓冲区:

该缓冲区提供了一个一次读一行的方法readLine(),方便于对文本数据的读取。
当返回null时,表示讲到文件末尾。
readLine方法返回的时候只返回回车符之前的数据内容,并不返回回车符。原理是:read()方法一次读一个,读到\n时,返回一行的数据内容。

创建一个字符读取流对象
FileReader fw= new FileReader("buf.txt");

为了提高效率,加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数
BufferedReader bufw= new BufferedReader(fw);

  String line=null;
  while((line=bufw.readLine())!=null)//bufw.readLine()返回的是String类型的字符串。读取的是一行的字符。
        {
        System.out.println(line);
}
        bufw.close();

作者: hmjavaqinchi    时间: 2016-4-22 01:07
zanyi ge hao tie 赞扬咱一个郝铁
作者: 木辰    时间: 2016-4-22 07:16
这个必须要顶!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2