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)為何是死循環?
2017-03-07
這本身就是一個用于判斷是否讀取到文件的末尾,如果讀取到文件末尾,bytes的值就為-1了呀,while循環就會結束了呀