已采納回答 / 安靜_天空
因為你想讀取每一行所顯示的內容(文字內容)。如果你用字節流輸出,那么得到的結果會是一些字節碼,然而你并不一定想得到字節碼,你想得到的可能是文本內容,如果容內中存在漢字,你可能會得到亂碼,一個漢字占用兩個字節~字節流的輸入輸出都是以字節為基本單位的,即都是0101這樣的東西。BufferedReader的緩沖作用主要是為了讀寫內容時更高效。
2016-04-02
已采納回答 / 散落凡塵的雨
其實是一樣的,只不過表現的形式不同。192.168.56.1轉化成字節數組就是[-64,-88,56,1],具體轉化:byte為8字節192太大所以表示不成正數的192就表示成-64,其余的都是同理,56可以表示成56。(至于為什么要表示成-64,原因是在計算機中存儲的數都是補碼,-64的補碼與192的補碼相同都是11000000所以可以這樣存儲)。
2016-03-08
已采納回答 / SoyaDokio
這是一種正確、嚴謹的寫法。驗證非NULL是編碼中很重要的一環。假如本來就是NULL,這是調用各自的close()方法是會報錯的。如果在實例化這些對象時出錯導致這些對象為NULL,或是實例化沒問題但中途出了什么異常導致這些對象為NULL,都會在未經驗證非NULL前嘗試調用close()方法關閉時報錯。p.s. 講師寫socket關閉條件時寫的是if(socket!=null)socket.close();這樣寫沒錯,但我想說一般是另一種寫法if(!socket.isClosed())socket.close...
2016-02-29
已采納回答 / LynnShaw
未指定端口號時,getport()返回-1如果要返回默認端口號,使用public?int?getDefaultPort()Gets the default port number of the protocol associated with this URL. If the URL scheme or the URLStreamHandler for the URL do not define a default port number, then -1 is returned
2016-02-17
已采納回答 / current_bp
首先不知道你是什么意思,如果byte類型,其最大值是127,超過最大值,就是越界,有可能變成負數,short類型的最大值是2^15-1,這個應該不會出錯,不知道是不是你的類型錯誤。。。錯將string類型賦值給short了。。。
2016-02-15
已采納回答 / 憊懶sloth
首先InetAddress.getLocalHost() 這個方法返回的就是byte[]數組,這個沒法改。其次ipv4是4個0-255間的整數組成的,byte是1字節8 位,正好滿足(2的8次方=256),所以用byte去接是合適的。但由于java中沒有unsigned的類型,所有數都是帶有正負位的,所以最高位的 1 將會被解釋為符號位,另外 Java 中存儲是按照補碼存儲,如果是地址中一個是135,轉二進制?1000 0111 ,這會被java認為是補碼形式,轉換成原碼便是 1111 0001,轉換成十...
2015-12-12