已采納回答 / 管理員
if(bytes = in.read(buf,0,buf.length))!=-1相當于if(in.read(buf,0,buf.length)!=-1){//但是卻不能這么寫????bytes =?in.read(buf,0,buf.length);}可以研究一下怎么看jdk源碼如果讀到了末尾會返回一個值“-1”,方法就是這么定義的。
2015-07-23
已采納回答 / 幕布斯7272363
讀到的字節(jié)流是byte[] 數(shù)組裝 , 而不是 int bytes這個整型變量來裝,bytes 返回的是讀取到的字節(jié)個數(shù)
2015-07-18
最新回答 / yangyang533
readpublic abstract int read() ? ? ? ? ? ? ? ? ?throws IOException從輸入流中讀取數(shù)據(jù)的下一個字節(jié)。返回 0 到 255 范圍內(nèi)的 int 字節(jié)值。如果因為已經(jīng)到達流末尾而沒有可用的字節(jié),則返回值 -1。在輸入數(shù)據(jù)可用、檢測到流末尾或者拋出異常前,此方法一直阻塞。子類必須提供此方法的一個實現(xiàn)。返回:下一個數(shù)據(jù)字節(jié);如果到達流的末尾,則返回 -1。拋出:IOException - 如果發(fā)生 I/O
錯誤。從API的理解來看,read是每次讀取...
2015-07-15