问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

while((bytes=in.read(buf,0,buf.length))!=-1)这个条件里面bytes的值不是固定的吗?

int bytes=0;
int j=1;
while((bytes=in.read(buf,0,buf.length))!=-1){
	for(int i=0;i<bytes;i++){
		System.out.print(Integer.toHexString(buf[i]&0xff)+" ");
		if(j++%10==0){
			System.out.println();
		}
	}
}

这个bytes不是in的字节长度嘛,那是一个固定值呀,那这个条件不久相当于bytes!=-1 吗?那这个条件不就是true?

我把bytes=in.read(buf,0,buf.length)写在上面
然后换成while(true)为何是死循环?

提问者:慕粉4241372 2017-03-07 09:34

个回答

  • WhiteJj
    2017-03-07 10:29:21
    已采纳


    这本身就是一个用于判断是否读取到文件的末尾,如果读取到文件末尾,bytes的值就为-1了呀,while循环就会结束了呀