為什么拿字節(jié)個(gè)數(shù)和-1進(jìn)行比較
視頻第7分30開始,老師開始考慮字節(jié)數(shù)組不夠存放的情況。這里的判斷條件是:
(bytes = in.read(buf, 0, buf.length))!=-1;既然前面說了bytes返回的是字節(jié)個(gè)數(shù)。
那么我認(rèn)為比較條件不該是這樣么?
(bytes = in.read(buf, 0, buf.length))> 20*1024
視頻第7分30開始,老師開始考慮字節(jié)數(shù)組不夠存放的情況。這里的判斷條件是:
(bytes = in.read(buf, 0, buf.length))!=-1;既然前面說了bytes返回的是字節(jié)個(gè)數(shù)。
那么我認(rèn)為比較條件不該是這樣么?
(bytes = in.read(buf, 0, buf.length))> 20*1024
2016-12-22
舉報(bào)
2016-12-22
bytes是讀取到字節(jié)的長度,如果因?yàn)榱魑挥谖募┪捕鴽]有 可用 的字節(jié),則返回值 -1。(bytes = in.read(buf, 0, buf.length))> 20*1024,如果這樣設(shè)置的話,后面已經(jīng)沒有可用的字節(jié)還是會(huì)繼續(xù)讀入,這樣會(huì)異常吧。
2016-12-22
"因?yàn)榱魑挥谖募┪捕鴽]有 可用 的字節(jié),則返回值 -1。"這個(gè)很關(guān)鍵,老師貌似沒這么說,還是我聽漏了?只知道他說過指針讀取到文件末尾會(huì)返回-1??礃幼舆@個(gè)“文件末尾返回-1”是適用所有IO流中的方法的咯