[英]Giving “unreachable code” error
美好的一天。 有人可以幫我嗎。 我似乎找不到解決此問題的方法。 我不知道為什么在關閉InputStream和套接字時會出現“無法訪問的代碼”錯誤。
感謝您的幫助。
public void run() {
try {
socket = new Socket(dstAddress, dstPort);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
int bytesRead;
InputStream inputStream;
while (true) {
inputStream = socket.getInputStream();
while ((bytesRead = inputStream.read(buffer)) != -1){
byteArrayOutputStream.write(buffer, 0, bytesRead);
response += byteArrayOutputStream.toString("UTF-8");
}
textResponse.setText(response);
if(response == "Server: You are connected to Android Server"){
Log.v("ok","ppp");
}
if(response == "OK"){
Log.v("ok","ooo");
}
}
inputStream.close(); --------unreachable code
socket.close(); --------unreachable code
} catch (UnknownHostException e) {
e.printStackTrace();
response = "UnknownHostException: " + e.toString();
} catch (IOException e) {
e.printStackTrace();
response = "IOException: " + e.toString();
}
}
while (true) {}
是一個無休止的循環,您沒有脫離它,因此這兩個close()
語句不可訪問。
在while
循環內滿足條件while
,可以使用break;
語句以繼續執行while
范圍以下的代碼。
t while(條件){inputStream = socket.getInputStream();
while ((bytesRead = inputStream.read(buffer)) != -1){
byteArrayOutputStream.write(buffer, 0, bytesRead);
response += byteArrayOutputStream.toString("UTF-8");
}
textResponse.setText(response);
if(response == "Server: You are connected to Android Server"){
Log.v("ok","ppp");
}
if(response == "OK"){
Log.v("ok","ooo");
}
}
您的while (true)
一直在循環播放。 您需要花點時間去下一行。 在您的情況下,由於不會結束,因此不會轉到下一行。 您可以更改,而到如果它它不是循環語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.