为了账号安全,请及时绑定邮箱和手机立即绑定

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)为何是死循环?

正在回答

2 回答


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


0 回复 有任何疑惑可以回复我~
#1

慕粉4241372 提问者

非常感谢!
2017-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信