已采納回答 / 落葉蕭蕭online
b這里可以不進行&0xff,因為源碼里已經進行了該操作,另外我們讀取的本身就是一個字節,所以只取低八位不會改變原來的結果,只是輸出形態會有區別。
2017-03-23
已采納回答 / 慕粉1431473803
raf.read(buf)是沒有返回值的,不能直接寫到Arrays.toString()中。Arrays.toString()的括號中是要一個數組。raf.read(buf)的意思是讀取文件的內容存放在buf中,不對請指教
2017-03-17
已采納回答 / Jenichan
因為十六進制數總共有4個字節的符號,我們為了美觀,不要顯示多余的符號而取有意義的數的時候我們就要跟我們獲得的值的位數相&,這樣前面的ffff就有消失,你可以去掉&0xff試試。
2017-03-07
已采納回答 / 涅米
while后面的(b=in.read())!=-1返回的是一個布爾值,而這個值只有在文件讀到結尾的時候才返回false,即in.read==-1,所以在讀完之前返回的都是true,都可以執行循環b的值本身不會變化,但是文件的指針pointer在每次循環后都會加1,所以每次b讀出來的值都是不一樣的if的判斷條件是i++%10==0,先判斷i%10的值是否為0,然后自增1,此時i=i+1,然后進入下一個循環,判斷i+1的值除以10余數是否為0,所以就算if的條件不滿足,i也執行了自增
2017-03-06