char[] charArr = new char[12];
try(BufferedReader br = new BufferedReader(new FileReader(file));){
int chars;
while((chars = br.read(charArr))!=-1){
System.out.println(new String(charArr, 0, chars));
}
} catch(IOException e){
e.printStackTrace();
}
我很好奇
System.out.println(new String(charArr, 0, chars));
这个是什么意思,为什么charArr,0和chars在里面呢?
还有
while((chars = br.read(charArr))!=-1)
这个为什么把charArr放在read()里面,有什么作用么?
new String(charArr, 0, chars), 是将数组里从0开始往后chars长度的值合成一个String
while((chars = br.read(charArr))!=-1) 这个你要注意它的括号,他是先执行了br.read ,这个方法是将文件的数据读到这个数组里面,然后返回读取的长度,没读取到就返回-1,chars就是用来接收这个返回值的,最后将chars和-1作比较,不等于,说明读取的数据不为空