昨天做网络延迟和丢包率,以前没弄过,网上寻找也没找到什么有效的,弄了一下午搞定了,代码如下,希望对大家有帮助,写的不好,还请大家批评指正
String lost = new String();
String delay = new String();
Process p = Runtime.getRuntime().exec("ping -c 4 " + "119.147.15.13");
BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
String str = new String();
while((str=buf.readLine())!=null){
if(str.contains("packet loss")){
int i= str.indexOf("received");
int j= str.indexOf("%");
System.out.println("丢包率:"+str.substring(i+10, j+1));
//System.out.println("丢包率:"+str.substring(j-3, j+1));
lost = str.substring(i+10, j+1);
}
if(str.contains("avg")){
int i=str.indexOf("/", 20);
int j=str.indexOf(".", i);
System.out.println("延迟:"+str.substring(i+1, j));
delay =str.substring(i+1, j);
delay = delay+"ms";
}
}