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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戎石锁 中级黑马   /  2012-8-16 20:13  /  1469 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{

        public static void main(String[] args) throws IOException
        {
                FileReader fr=new FileReader("demo.txt");
                char[] arr=new char[1024];
                int num=0;
                while((num=fr.read(arr))!=-1)
                {
                        System.out.println(new String(arr,0,num));
                }
                fr.close();
        }
}

这里面的0 和null 是什么意思。??

点评

null题目里不存在!建议里看下API中read方法,就知道了。  发表于 2012-8-16 20:35

1 个回复

倒序浏览
为什么要定义num=0呢?首先你要查找API中java.io.Read类的read方法,说明如下:
readpublic int read(char[] cbuf)         throws IOException将字符读入数组。在某个输入可用、发生 I/O 错误或者已到达流的末尾前,此方法一直阻塞。参数:
cbuf - 目标缓冲区返回:读取的字符数,如果已到达流的末尾,则返回 -1抛出:IOException - 如果发生 I/O 错误

注意:红色字体的部分是关键,read方法返回的是读取的字符数,如果已到达流的末尾则返回-1,所以在while((num=fr.read(arr))!=-1)中会以此来判定是否读到流的末尾。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马