/**
* 简单说明:验证ip是否ping通 <br>
* @param ip
* @return boolean
**/
public static boolean isPingPassByIp(String ip) {
boolean isConnect = false;
Runtime runtime = Runtime.getRuntime();
Process process;
try {
process = runtime.exec("ping " + ip);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "GBK");
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer sb = new StringBuffer();
int num = 5;
//注意readLine()阻塞问题
while ((line = br.readLine()) != null && num > 0) {
sb.append(line);
num --;
}
//System.out.println(sb.toString());
is.close();
isr.close();
br.close();
if (null != sb && !sb.toString().equals("")) {
String logString = "";
if (sb.toString().indexOf("ttl") > 0) {
// ping通
isConnect = true;
} else {
// ping不通
isConnect = false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return connect;
}