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