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)为何是死循环?
这本身就是一个用于判断是否读取到文件的末尾,如果读取到文件末尾,bytes的值就为-1了呀,while循环就会结束了呀