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