package com.whqxj.messagesafe;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class PingIp
{
public String ping(String ip)
{
String rsStr = "";
if (isPing(ip)) {
System.out.println("isping成功!");
String allStr = execPing(ip);
String[] allStrArr = allStr.split("\r\n");
String lastline = allStrArr[(allStrArr.length - 1)];
String[] timeArr = lastline.split("=");
String time = timeArr[(timeArr.length - 1)];
time = time.replace("ms", "");
time = time.replace(" ", "");
rsStr = time;
} else {
System.out.println("isping失败!");
rsStr = "-1";
}
return rsStr;
}
public boolean isPing(String ip)
{
boolean isFlow = false;
try {
isFlow = InetAddress.getByName(ip).isReachable(5000);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return isFlow;
}
public String execPing(String address)
{
String rsStr = "";
try {
Process p = Runtime.getRuntime().exec("ping " + address);
byte[] msg = new byte[''];
int len;
while ((len = p.getInputStream().read(msg)) > 0)
{
int len;
System.out.print(new String(msg, 0, len));
rsStr = rsStr + new String(msg, 0, len);
}
String rs = "\n";
byte[] rb = { 10 };
OutputStream os = p.getOutputStream();
os.write(rb);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
return rsStr;
}
public static void main(String[] args) {
PingIp pingIp = new PingIp();
String msg = pingIp.ping("192.168.0.12");
System.out.println(msg);
}
}