关于IO流中下while循环句解释:while ((len=fr.read(c))!=-1)
Posted zhengyu-ahu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于IO流中下while循环句解释:while ((len=fr.read(c))!=-1)相关的知识,希望对你有一定的参考价值。
在java中char类型默认使用Unicode编码,一个字符占两个字节,这里与C语言不同
测试代码代码如下:
public class Demo03 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("G:My ProjectJava基础学习
esources1.txt");
//字符流以字符为单位,故这里用char
char[] c=new char[8];
int len;
while ((len=fr.read(c))!=-1){
System.out.println("len的值为:"+len);
// new String(c,0,len)意思是从0到len到数组转换为字符串
System.out.println(new String(c,0,len));
}
fr.close();
}
}
在以上程序中,c
是char型数组的实例化对象
这时数组c得到了倒数第二句
这是控制台的输出:
那么read()方法怎么理解呢?
通过read()方法将对象的文本字符(这也包括转义字符)按照数组的长度一次次的赋值给数组元素,返回值为每次赋值后数组中的字节个数,如果数组不为空,有n个元素就返回值为n(这包括了数组满的情况),如果为0个元素则返回-1
如何理解new String(c,0,len)
呢?
这个是String类的构造方法,是将数组c中的元素从0到len拼接为一个字符串对象
以上是关于关于IO流中下while循环句解释:while ((len=fr.read(c))!=-1)的主要内容,如果未能解决你的问题,请参考以下文章
用forwhiledo-while循环输出10句“好好学习,天天向上!”