Java_代碼執行ping命令__Java

來源:互聯網
上載者:User

Java代碼執行Ping命令:

import android.content.Context;import com.umeng.analytics.MobclickAgent;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.nio.charset.Charset;import java.util.Map;/** * Created by Ricky on 2016/10/13. */public class PingIPUtils implements Runnable {    private Context mContext;    private String ipstr = "";    private Map map;    private int runCount = 0;    private String returnParam = "";    public PingIPUtils(String ipstr, Context mContext ,Map map){        this.mContext = mContext;        this.ipstr = ipstr;        this.map = map;    }    @Override    public void run() {        pingRun("www.baidu.com");        pingRun(ipstr);    }    public void pingRun(String address){        runCount++ ;        Process process = null;        try {            process = Runtime.getRuntime().exec("ping -c 1 -w 5 "+address);        } catch (IOException e) {            System.out.println("ping Exception......");            e.printStackTrace();        }        InputStreamReader r = new InputStreamReader(process.getInputStream(), Charset.forName("GBK"));        LineNumberReader returnData = new LineNumberReader(r);        String returnMessage="";        String line = "";        try {            while ((line = returnData.readLine()) != null) {                returnMessage = returnMessage + line + "\n";            }        } catch (IOException e) {            e.printStackTrace();        }        System.out.println(returnMessage);        if("".equals(returnParam)){            returnParam = "ping 地址:" + address;        }else{            returnParam = returnParam + "                            " + "ping 地址:" + address;        }        String[] lines = returnMessage.split("\n");        String time;        for (String line1 : lines) {            if (line1.contains("time=")){                int index = line1.indexOf("time=");                int end = line1.indexOf("ms") + 2;                time = line1.substring(index + "time=".length(),end);                returnParam = returnParam + "time: " + time;                System.out.println(returnParam);            }else if(line1.contains("時間=")){                int index = line1.indexOf("時間=");                int end = line1.indexOf("ms") + 2;                time = line1.substring(index + "時間=".length(),end);                returnParam = returnParam + "時間: " + time;                System.out.println(returnParam);            }else{                returnParam = returnParam + line1;                System.out.println(returnParam);                continue;            }        }        if(runCount >= 2){            map.put("pingIP",returnParam);            MobclickAgent.onEvent(mContext , "TimeOut", map);            System.out.println("最後參數:" + returnParam);        }    }}

開啟線程調用:

new Thread(new PingIPUtils("182.92.172.193", context , map)).start();


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.