最新回答 / 有一種力量從不曾消逝
我的理解:1、首先您的這個buffer這個值就一直沒有變過,相當于是while(true)的效果2、為什么輸出null,不太清楚,不過把buffer.readLine()值賦給一個String變量,就不會為null。
2017-05-09
最新回答 / 慕萊塢1127548
個人覺得客戶端和服務器端在響應完對方的消息之后都應該關閉相應的輸入流輸出流,所以在Server類和Client類里都要調用一次shutDownInput和shutDownOutput方法,老師沒有加響應后的流關閉方法也沒出錯,大概是因為客戶端和服務器端只交互了一次,可能之后再次交互的話就會出錯。
2017-05-09
已采納回答 / 慕粉1356576729
簡單來講就是shutDownOutput只關閉了輸出流,輸入流還可以正常使用;而close則是會在關閉流的同時造成socket的關閉,輸入輸出流都不能用了,詳細的可參考:http://www.cnblogs.com/549294286/p/3947767.html
2017-05-08
最新回答 / weibo_圖八的偏頭痛找到藥了_039
java 的異常可以分為兩個大類,其中的RuntimeException 及其子類不要求捕捉,而其它的異常要求捕捉。比如RuntimeException 下的子異常,數組越界異常、空指針異常等。而非RuntimeException 異常有:Socket異常、IO異常等。RuntimeException 是在程序中可以完全避免的,比如數組越界異常,只要我在程序里作個判斷,如果要訪問的數組元素下標和數組的長度作一下比較就知道會不會越界。而另一方面,非RuntimeException 則是程序無法避免的,比如I...
2017-05-08
最贊回答 / 愛笑的毛毛蟲
Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程序,如果系統會拋出(throw)一個異常對象,可以通過它的類型來捕獲(catch)它,或通過總是執行代碼塊(finally)來處理;try用來指定一塊預防所有異常的程序;catch子句緊跟在try塊后面,用來指定你想要捕獲的異常的類型;throw語句用來明確地拋出一個異常;throws用來聲明一個方法可能拋出的各種異常(當然聲明異常時允許無病呻吟);finally為確保...
2017-04-27