import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
public class Ping {
public static void main(String[] args) {
// while(true)
method1();
//method2();
}
static InetAddress address;
private static void method2(){
try {
address = InetAddress.getByName("http://v3.51weibo.tv/");
System.out.println("Name: " + address.getHostName());
System.out.println("Addr: " + address.getHostAddress());
System.out.println("Reach: " + address.isReachable(3000)); // 是否能通信 返回true或false
System.out.println(address.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
private static void method1(){
Runtime runtime = Runtime.getRuntime(); // 获取当前程序的运行进对象
Process process = null; // 声明处理类对象
String line = null; // 返回行信息
InputStream is = null; // 输入流
InputStreamReader isr = null; // 字节流
BufferedReader br = null;
String ip = "http://v3.51weibo.tv/";
boolean res = false;// 结果
try {
process = runtime.exec("ping " + ip); // PING
is = process.getInputStream(); // 实例化输入流
isr = new InputStreamReader(is);// 把输入流转换成字节流
br = new BufferedReader(isr);// 从字节中读取文本
int head=0,trail=0;
while ((line = br.readLine()) != null) {
if (line.contains("TTL")) {
head = line.indexOf("来自");
trail = line.indexOf("的");
res = true;
break;
}
}
is.close();
isr.close();
br.close();
if (res) {
System.out.println("ping 通 ...");
System.out.println("ip "+line.substring(head+2, trail));
} else {
System.out.println("ping 不通...");
}
} catch (IOException e) {
System.out.println(e);
runtime.exit(1);
}
}
}