while((bytes=in.read(buf,0,buf.length))!=-1)這個(gè)條件里面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(); } } }
這個(gè)bytes不是in的字節(jié)長(zhǎng)度嘛,那是一個(gè)固定值呀,那這個(gè)條件不久相當(dāng)于bytes!=-1 嗎?那這個(gè)條件不就是true?
我把bytes=in.read(buf,0,buf.length)寫在上面
然后換成while(true)為何是死循環(huán)?
2017-03-07
這本身就是一個(gè)用于判斷是否讀取到文件的末尾,如果讀取到文件末尾,bytes的值就為-1了呀,while循環(huán)就會(huì)結(jié)束了呀