public void testPing() { final Thread pingThread = new Thread() { @Override public void run() { try { String lost = new String(); String delay = new String(); Process p = Runtime.getRuntime().exec("ping -c 4 " + "www.baidu.com"); 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("%"); Log.d("ping", "丢包率:" + 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); Log.d("ping", "延迟:" + str.substring(i + 1, j)); delay = str.substring(i + 1, j); delay = delay + "ms"; } } } catch (IOException e) { e.printStackTrace(); } } }; pingThread.start(); }