import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* 判断网络连接状况.
* @author luox
* @date 2019年3月25日
*/
public class PingIpUtil {
/**
* 校验是否可以连通
* @param ip
* @return true/false
*/
public static boolean isConnect(String ip){
boolean connect = false;
Runtime runtime = Runtime.getRuntime();
Process process;
try {
process = runtime.exec("ping " + ip);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
}
is.close();
isr.close();
br.close();
if (null != sb && !sb.toString().equals("")) {
String logString = "";
if (sb.toString().indexOf("TTL") > 0) {
// 网络畅通
connect = true;
} else {
// 网络不畅通
connect = false;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return connect;
}
public static void main(String[] args) {
PingIpUtil netState = new PingIpUtil();
System.out.println("ping结果:"+netState.isConnect("IP"));
}
}