while沒錯 ?對象.read(byte[] b, int off, int len);//方法是這樣的:從對象中讀取len個字節(jié)放進(jìn)b中,每次從b中off位置開始放,.但是老師對于這塊有一個問題沒講清,我的理解是:文件指針從0開始讀取,每次讀取,指針后移一次,讀取完一組字節(jié),此時指針已經(jīng)移動到了下一個未讀取的位置,下次while循環(huán)時,從指針的位置繼續(xù)讀取,往放入b中 ?從b的off位置又開始放,知道放滿,每次循環(huán)。當(dāng)read方法讀取到結(jié)尾時,返回值為-1,bytes接受該返回值,作為循環(huán)結(jié)束條件。(可能有錯誤的地方,同求大神指明)
2017-02-16
read(buf,0,b)是把讀到的數(shù)據(jù)存到buf這個數(shù)組里面去,從0到b!返回值是讀的字節(jié)數(shù)!
2017-02-08
read()返回的是放入數(shù)組buf的大小,前面定義buf大小為8*1024,單位字節(jié),假設(shè)一個文件大小為13192字節(jié),讀三次才能讀完,第一次讀8192字節(jié),bytes=8192,然后打印出來,第二次,in.read(buf,0,buf.length)=5000,然后前面byte數(shù)組中前5000個字節(jié)被覆蓋,然后for循環(huán)把這5000個字節(jié)打印出來,第三次沒東西讀了,返回-1,結(jié)束循環(huán)。而這時候buf的大小還是8192,第二次只是覆蓋了前面的,AIP也解釋的很不清楚:這些字節(jié)將存儲在 b[off] 到 b[off+k-1] 的元素中,不影響 b[off+k] 到 b[off+len-1] 的元素
2017-02-06
。。但是while里面每次都是寫的從0開始的
while((bytes = in.read(buf,0,buf.length)) != -1)
還有個問題 一次就讀取滿了buf這個數(shù)組,下次再讀進(jìn)去不是放不進(jìn)去了嗎 ?大神講解下
2017-02-05
while沒錯 ?對象.read(byte[] b, int off, int len);//方法是這樣的:從對象中讀取len個字節(jié)放進(jìn)b中,每次從b中off位置開始放,.但是老師對于這塊有一個問題沒講清,我的理解是:文件指針從0開始讀取,每次讀取,指針后移一次,讀取完一組字節(jié),此時指針已經(jīng)移動到了下一個未讀取的位置,下次while循環(huán)時,從指針的位置繼續(xù)讀取,往放入b中 ?從b的off位置又開始放,知道放滿,每次循環(huán)。當(dāng)read方法讀取到結(jié)尾時,返回值為-1,bytes接受該返回值,作為循環(huán)結(jié)束條件。(可能有錯誤的地方,同求大神指明)