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

输入输出流

while(bytes = in.read(buf,0,buf.length) != -1){

for(int i = 0;i < bytes; i++)

Stystem.out.print(Integer.toHexString(buf[i])&0xff+" ");

}


这个bytes变量到底是个什么东西  如果按照while的条件是不是可以认为是只是判断是不是-1 

即判断是否读取到文件    这么说的话他也就只有两种情况   但是for循环里面却又有 i<bytes

这....求高手解惑啊  这个bytes到底是个什么概念

正在回答

3 回答

while条件里bytes是int类型,先执行bytes=in.read(buf,0,buf.length)对bytes赋值,再判断bytes是不是等于-1,bytes表示buf中读到数据的长度(<=buf.length),没读到返回-1,buf.length=0时返回0

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

街边七号 提问者

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

被变量名迷惑了  他表示的是read方法读取到的字节的数量    经过与-1判断是不是 不相等 以后 得到的一个Boolean的值  用于循环条件的判断

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

byte字节

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

举报

0/150
提交
取消

输入输出流

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