在window上用cmd,在Linux用终端时,都可以很方便的调用一些命令如ping。其实在java里也可以直接调用那些命令,并返回结果。Java中有Runtime类,运用此类就可以更本机的运行环境相连接,从而调用一些命令。其实这也是在Linux下c接口的一种方式。下面是我在window环境下写的一个ping的小Demo。
代码比较简单,大家有兴趣可以研究一下Process类。
public class CJAVA {
public static void execute() {
String[] cmdArray = {"ping", "www.baidu.com"};
//String[] cmdArray = {"ping", "13.13.13.131", "-t"};
DataInputStream din = null;
Process child = null;
try {
child = Runtime.getRuntime().exec(cmdArray);
din = new DataInputStream(new BufferedInputStream(child.getInputStream()));
int c;
StringBuffer sb = new StringBuffer("");
while(true) {
c = din.read();
if(c == -1) {break;}
sb.append((char)c);
System.out.print((char)c);
}
//System.out.println(sb.toString());
child.waitFor();
} catch (IOException e) {
} catch (InterruptedException e) {
} finally {
try {
if(din != null) {
din.close();
}
} catch (IOException e) {
}
if(child.exitValue() != 0) {
child.destroy();
}
}
}
}
代码比较简单,大家有兴趣可以研究一下Process类。