以下是java实现获取telnet返回值的代码,当对端返回异常时,程序会卡在in.read()方法中,以下代码就无法执行。如何能避免这种情况的发生,如设置超时之类的,10秒超时,自动退出该线程。 
public String readUntil(String pattern) {       
try {         
char lastChar = 0;      
lastChar = pattern.charAt(pattern.length() - 1);       
StringBuffer sb = new StringBuffer(1536);      
char ch = (char)in.read();      
while (a!=-1) {        
sb.append(ch);       
if (ch == ':') {             
if (sb.toString().endsWith("Username:")) {               return "Username";             
}        
}         
ch = (char)in.read();       
}     
} catch (Exception e) {     
 System.out.println("test@@@@@@@@@@@@@@@@@@@@@");      
e.printStackTrace();      
return null;     
}     
return null;     
}javaexception