版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/84377797
这是属于java 进行网络编程的部分
一般我们可以在winodws 使用 cmd 去ping ip ,也可以在 linux 等服务器上去ping ip ,
比如(win):
(linux):
这次 想在 java程序中去 使用这个方法
可以如下:
public class ping {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("ping 10.185.151.20");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream(),"GBK"));
String line =null;
while((line = reader.readLine())!=null){
if (line.length()!=0){
System.out.println(line.toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
我们要去调用外部的一个程序或者命令 就可以去使用 Runtime.getRunTime().exec();
这个方法有6个重载方法,我们这里是用的执行指定字符串命令的方法,可以参考下(http://www.cnblogs.com/xinmengwuheng/p/5970255.html)
然后 返回的是一个Process对象(这个Process类是一个抽象类,里面有获取流的方法)
需要使用这个对象去得到Input流,
获取流同时windows系统需要注意编码格式。
编码需要转成GBK格式,如果是默认的话是UTF-8 这样在windows上是会形成乱码。
然后读取数据 读完输出