Javaはネットワークが接続されているかどうかを判断する
1856 ワード
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"));
}
}