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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sean 中级黑马   /  2014-9-18 07:11  /  818 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请参见问题:在黄色区域,

//导入IO
import java.io.*;
class FileReaderDemo
{
   publicstaticvoidmain(String[] args)throws IOException
   {
           //创建一个文件读取流对象,和指定位置名称的文件相关联。
           FileReaderfr = newFileReader("g:\\ys\\demo.txt");
          //通过字符数组进行读取。
           //定义一个字符数组。用于存储读到字符
           char[] buf = new char[1024];
           int num = 0;
                                           //下面这段代码,请大神们帮帮忙     
          while((num = fr.read(buf))!=-1)//这段代码中的fr.read(buf)这句话的运行原理是什么?用文字该如何描述?
           {
                System.out.print(new String(buf,0,num));
           }
           fr.close();
    }
}


2 个回复

倒序浏览
它的内部实现就是用read()一个一个读取,然后存入数组(缓冲区)。          fr.read(buf),  读取buf容量大的数据,存入buf。        
回复 使用道具 举报
xpaibeyond 发表于 2014-9-18 10:25
它的内部实现就是用read()一个一个读取,然后存入数组(缓冲区)。          fr.read(buf),  读取buf容量 ...

谢谢~!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马