Java执行外部命令,并把结果回显到控制台

分类: J2SE   出处:iocblog整理  更新时间:2008-05-27   添加到收藏  

     java现在执行外部命令,主要的方式,还是通过调用所以平台的shell去完成,windows下面就用cmd,linux或者是unix下面就用shell,下面演示一个对bat文件的调用,并把结果回显到控制台上,其它的应用程序类。
说明:
一个调用shell执行外部
取得外部程序的输出流,采用适当的reader读回来,并显示出来就ok了
下面是源程序:(文章来源 www.iocblog.net)


import java.io.bufferedreader;
import java.io.ioexception;
import java.io.inputstream;
import java.io.inputstreamreader;

public class javaexebat {
public javaexebat() {
}

public static void main(string[] args) {
process p;
//test.bat中的命令是ipconfig/all
string cmd="c:\test\test.bat";
(文章来源 www.iocblog.net)
try {
//执行命令
p = runtime.getruntime().exec(cmd);
//取得命令结果的输出流
inputstream fis=p.getinputstream();
//用一个读输出流类去读
inputstreamreader isr=new inputstreamreader(fis);
//用缓冲器读行
bufferedreader br=new bufferedreader(isr);
string line=null;
//直到读完为止
while((line=br.readline())!=null) {
system.out.println(line);
}
} catch (ioexception e) {
e.printstacktrace();
}
}
}

如果如下:
windows ip configuration
host name . . . . . . . . . . . . : mickey
primary dns suffix . . . . . . . :
node type . . . . . . . . . . . . : unknown
ip routing enabled. . . . . . . . : no
wins proxy enabled. . . . . . . . : no
dns suffix search list. . . . . . : domain

ethernet adapter 本地连接:
connection-specific dns suffix . : domain
description . . . . . . . . . . . : broadcom netxtreme gigabit ethernet
......



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。