如下代码:
package study;
import java.io.*;
public class FileReaderDemo1
{
public static void main(String[] arg) throws IOException
{
FileReader r=null;
r=new FileReader("C:\\Demo.txt");
char[] a=new char[5];
int b =0;
for(;b!=-1;)
{
b=r.read(a);
System.out.print(b+"----");
System.out.println(a);
}
r.close();
}
}
其中c:\Demo.txt内容为hello world~
那么打印输出什么?
-------------------------------------------------------------------------我是萌萌的分割线-------------------------------------------------------
锵锵,是
5----hello
5---- worl
2----d~orl
-1----d~orl
啊咧~~~
结论:所以说定义的char[] a只是一个数据缓冲区,reader()所返回的int型数据只是下次所读取到的字节数。并且最终是-1结果。