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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝枫 中级黑马   /  2014-3-29 10:36  /  1091 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class FileReaderDemo
  3. {
  4.         public static void main(String[] args)throws Exception
  5.         {
  6.                
  7.      FileReader fr = new FileReader("demo.txt");

  8.         //定义一个字符数组,用于存储读到的字符
  9.         //该read(char[])返回的是读到字符个数

  10.            char[] buf = new char[1024];//这个字符数组的长度为什么要定义成1024呢?

  11.            int num = 0;
  12.             while((num=fr.read(buf))!=-1)
  13.                 {
  14.                         System.out.println(new String(buf,0,num));//这个输出语句不是很明白?

  15.                         //new String(buf,0,num)怎么理解这句代码?
  16.             }
  17.                   fr.close();

  18.      }
  19.        
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

1 个回复

正序浏览
class FileReadDemo
{
        public static void main(String[] args) throws Exception
        {
                //定义一个文件读取流对象
                FileReader fr = new FileReader("demo.txt");
               
                //定义一个字符数组,用作缓冲区,存储读到的字符
                char [] buf = new char[1024];        //缓冲区的大小是任意的,将数组的大小定义为1024是最优化的选择,也可以是1024*2,1024*4等

                ///定义一个int型的数据,用于记录每次循环从缓冲区中读到的字符数
                int len = 0;

                while((len = fr.read(buf))!=-1)
                {
                        /*String(buf,0,len) 为字符串的构造函数
                        String(char[] value, int offset, int count)
                        指分配一个新的字符串,将buf字符数组的0位置开始,长度为len的字符复制到新字符串中*/

                        //new String(buf,o,len);为创建一个字符串对象
                        System.out.println(new String(buf,0,len));        //将字符串的内容打印

                }
                fr.close();
        }
}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

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