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到底是个什么概念
while条件里bytes是int类型,先执行bytes=in.read(buf,0,buf.length)对bytes赋值,再判断bytes是不是等于-1,bytes表示buf中读到数据的长度(<=buf.length),没读到返回-1,buf.length=0时返回0
被变量名迷惑了 他表示的是read方法读取到的字节的数量 经过与-1判断是不是 不相等 以后 得到的一个Boolean的值 用于循环条件的判断
byte字节