2011-03-02 113 views

回答

1

根據its documentation Socket.getInputStream()永遠不能返回null。它要麼返回InputStream它拋出一個IOException

如果它拋出一個IOException那麼你要麼關閉插座,另一端關閉了套接字或通信過程中發生的一些其他問題。

2

它將感覺像一個返回null值,如果你不小心使用這種模式:

InputStream is = null; 
try { 
    is = socket.getInputStream(); 
} catch (IOException e) { 
    // TODO will be logged once logging is implemented... 
    // e.printStackTrace(); 
} 
is.read(); // <-- NPE in case IOException... 

仔細檢查你的代碼,這可能是你的NPE的原因。

相關問題