最贊回答 / 一枚flora
就是通過while循環(huán),read的指針不斷往后移,開始是開足馬力每次都length長度,只有可能到最后一次,read不足length。由此實(shí)現(xiàn)只需要開辟一個很小空間的byte[]就可以讀入很多的字節(jié)
2017-10-10
最新回答 / 美麗金
buf中存的是整數(shù)的補(bǔ)碼,String s2 = new String(buf)解碼用的是項(xiàng)目默認(rèn)的編碼,所以會爛碼
2017-10-01
最贊回答 / 九尾猿
java 中的string 是不可變的,write的時候雖然右移了但是并沒有改變 str1本身,而是重新創(chuàng)建了一個右移后的字節(jié),因此不會有你說的問題。不知道這樣講明白么?
2017-09-23
已采納回答 / 該取什么名字
while條件里bytes是int類型,先執(zhí)行bytes=in.read(buf,0,buf.length)對bytes賦值,再判斷bytes是不是等于-1,bytes表示buf中讀到數(shù)據(jù)的長度(<=buf.length),沒讀到返回-1,buf.length=0時返回0
2017-09-20
最新回答 / 阿雙otw
RandomAccessFile 一次只能寫一個字節(jié),"a"是個字符串,可以換成'a'或者"a".getBytes();getBytes()方法可以設(shè)置編碼類型如gbk,utf-8等
2017-09-20
最新回答 / 我是葉霖
0到buf.length的長度是你定義的byte數(shù)組的長度你一次性最多讀取的字節(jié)長度是byte數(shù)組長度,但是你的文件字節(jié)數(shù)往往是多于你定義的byte數(shù)組長度所以就用到了for循環(huán),0xff是取低八位,八位為一個字節(jié)?。?!望采納QAQ
2017-09-11