在下面的代碼中,我覺得while()條件可能不正確,因爲我調用readLine()方法兩次,意味着不驗證我的if()中的firstLine字符串,來自讀者的條件。適當的條件來檢查緩衝讀取器中的行結尾
什麼是驗證緩衝讀取器(br)是否尚未達到行尾的正確方法。
try {
if (is != null) {
br = new BufferedReader(new InputStreamReader(is));
os.write("x ample.abcd.com\r\n\r\n".getBytes());
if (br != null) {
while (br.readLine() != null) {
String returnString = br.readLine();
if (returnString.contains("250")) {
logger.debug(" string:" + returnString);
break;
}
}
}
}
} catch (IOException e1) {
e1.printStackTrace();
} finally {
try {
if (br != null)
br.close();
if (sockt != null)
sockt.close();
} catch (IOException e) {
e.printStackTrace();
}
手段,我們不需要再次調用br.readLine()?在內部的同時,它將已經讀取該行並將其分配給行變量? – mahesh
這是正確的。 – EJP
我改變了正確的答案的原因是,當(真正的)將要無限循環時,你在所有情況下完美地工作。 – mahesh