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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© \(^o^)/ 中级黑马   /  2014-5-7 11:34  /  669 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. public static void reabuf()throws IOException

  2. {
  3. FileReader fr=new FileReader("lin.txt");

  4. BufferedReader bufr=new BufferedReader(fr);

  5. String s=null;

  6. while((s=bufr.readLine())!=null)
  7. {
  8. System.out.println(s);
  9. }
  10. bufr.close();


  11. }
  12. public static void rea() throws IOException
  13. {
  14. FileReader fr=new FileReader("lin.txt");

  15. char[] ch=new char[1024];

  16. int c=0;
  17. while((c=fr.read(ch))!=-1)
  18. {
  19. System.out.print(new String(ch,0,c));
  20. }
  21. }
复制代码
以上两个函数功能相同,BufferedReader功能是不是代替了定义的 char[] ch=new char[1024];?

3 个回复

倒序浏览
不能这样说吧,bufferedreader还有其他的功能呢,比如 readline()可以实现一次读一行,skip(long n)可以跳过字符等等
回复 使用道具 举报
BufferedReader是在流中读取数据,FileReader是在硬盘上读取数据,哪个效率,你自己想吧
回复 使用道具 举报
按照你想要的运行结果来说,他们两个的结果是一样的,实现的功能是一样的,只不过一个是读一行,一个是读一个数组。BufferedReader效率高。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马