簡體   English   中英

為什么while循環后的語句無法執行?

[英]Why statements after while loop is not getting executed?

我的問題是while循環后什么也沒執行? 這是什么問題? (while循環結束后的行永遠不會執行)

client = serverSocket.accept();
BufferedReader in = new BufferedReader(
                            new InputStreamReader(client.getInputStream())
);

while ((line = in.readLine()) != null) {
    Log.i("line",line);
    line111 +=line;
    Log.i("line111",line111);
}

//Any code below this is not executed
Log.i("shan","Shan");

您的while循環被卡在套接字上,等待下一行。 流的源需要在其末端關閉連接。

這段代碼“ while((line = in.readLine())!= null)”僅在您從具有恆定大小的文件中讀取並且最終將到達該文件時才有意義。 從套接字讀取數據時,您正在進入阻塞狀態(等待遠程客戶端發送數據)。

如果要退出循環,則需要在摘要讀取方法上添加超時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM