A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhoubinjian 金牌黑马   /  2016-4-22 00:36  /  346 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字符流的缓冲区:

缓冲区的出现提高了数据读写的效率;
对应类: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();

2 个回复

倒序浏览
zanyi ge hao tie 赞扬咱一个郝铁
回复 使用道具 举报
这个必须要顶!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马