Java代码调用cmd中的ping命令.如何获得ping返回的信息?

我在Java里执行cmd命令: Process p = Runtime.getRuntime().exec("ping -w " + timeout + " " + "www.usc.edu");
目的是Ping一下与"www.usc.edu"的连接情况
我在cmd里面测试是,问题是如何获得其中的信息,比如 Lost Average ???
求助!我Linux和C都不好,请教!

public static void main(String[] args) throws IOException, InterruptedException {

     // 执行ping命令

     String cmdPing = "ping 127.0.0.1";

     Runtime run = Runtime.getRuntime();

     Process process = run.exec(cmdPing);

     process.waitFor();

    BufferedReader br = new BufferedReader(new     InputStreamReader(process.getInputStream(), Charset.forName("GBK")));

    String line = null;

     while ((line = br.readLine()) != null) {

     System.out.println(line);

     }

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-31
你应该看看api process 返回的是流,按照输出流的方法操作即可.公司上不去外网,有代理才行,所以没有ping 百度,ping的本机.

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class CallCmd {
public static void main(String[] args) {
BufferedReader br = null;
try {
Process p = Runtime.getRuntime().exec("ping 127.0.0.1");
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
StringBuilder sb=new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {

if (br != null) {
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}本回答被提问者和网友采纳

Java代码调用cmd中的ping命令.如何获得ping返回的信息?
public static void main(String[] args) throws IOException, InterruptedException { \/\/ 执行ping命令 String cmdPing = "ping 127.0.0.1";Runtime run = Runtime.getRuntime();Process process = run.exec(cmdPing);process.waitFor();BufferedReader br = new BufferedReader(new InputStream...

Java代码调用cmd中的ping命令.如何获得ping返回的信息?
你应该看看api process 返回的是流,按照输出流的方法操作即可.公司上不去外网,有代理才行,所以没有ping 百度,ping的本机.import java.io.BufferedReader;import java.io.InputStreamReader;public class CallCmd { public static void main(String[] args) { BufferedReader br = null; try { Proces...

用java怎么实现调用cmd,并执行ping命令,求完整的语句
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class Test { public static void main(String[] args) { Runtime rt = Runtime.getRuntime();try { Process p = rt.exec("cmd \/c ping www.baidu.com -t")...

用java实现ping的几种方式
2.最简单的办法,直接调用CMD 见Ping类的ping02(String)函数。3.Java调用控制台执行ping命令 具体的思路是这样的:通过程序调用类似“ping 127.0.0.1 -n 10 -w 4”的命令,这命令会执行ping十次,如果通顺则会输出类似“来自127.0.0.1的回复: 字节=32 时间<1ms TTL=64”的文本(具体数字根...

java 怎么取到shell脚本里面ping的结果?
Process p=Runtime.getRuntime().exec(cmd); InputStream is=p.getInputStream(); InputStreamReader isr=new InputStreamReader(is); BufferedReader reader=new BufferedReader(isr); String msg=""; while((msg=reader.readLine())!=null){ System.out.println(msg); if...

JAVA语言能PING吗?
可以通过运行cmd命令来ping,对返回流进行解析进行处理取得结果。解析还是很麻烦的。还有种方法就是用socket进行处理,这个就要搞清楚ping的原理了。

如何恢复ping命令
右击“我的电脑”--“属性”--“高级”--“环境变量”,在系统变量那一块找到“path”点"编辑",在现有的后面加上半角的分号(;)然后加上%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;不是放火墙的原因,防火墙只能禁止别人ping进来,不能阻止你ping别人的机器,它的过滤原则是单向的...

java中如何执行命令行语句
1、执行ping命令:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class ProcessTest { public static void main(String[] args) { BufferedReader br = null; try { String cmd = "ping 127.0.0.1"; \/\/ 执行dos命令并获取输...

CMD中ping不是批处理命令
你应该是装了JAVA的程序吧? 我前几天也是学JAVA装了以后环境变量就变了 不过有个方法能PING了 cmd - cd c:\\windows\\system32 -ping 这样就OK了 好像可以改环境变量~但是那个不熟还是不说了 嘿嘿

怎样用C++实现cmd窗口中的ping 程序?谢谢高手
你可以调用系统的ping程序啊。用system(),或者exec(),C++我不太懂,在java里面调用Runtime类执行ping命令之后可以获得一个输入流,把ping的结果读进来做判断,不知道C++里面可不可以这么做,你查查函数库吧,应该有的

相似回答