黑马程序员技术交流社区
标题:
提问啊
[打印本页]
作者:
戎石锁
时间:
2012-8-16 20:13
标题:
提问啊
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 是什么意思。??
作者:
周兴华
时间:
2012-8-16 20:43
为什么要定义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)中会以此来判定是否读到流的末尾。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2