命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车。它也可以执行BAT文件。下面讲述一下通过Java如何调用cmd命令并返回执行结果。
示例代码,具体如下:
packagecom.yoodb.blog;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.nio.charset.Charset;
publicclassCommandTest{
publicstaticvoidexeCmd(StringcommandStr){
BufferedReaderbr=null;
try{
Processp=Runtime.getRuntime().exec(commandStr);
br=newBufferedReader(newInputStreamReader(p.getInputStream(),Charset.forName("GBK")));
Stringline=null;
StringBuildersb=newStringBuilder();
while((line=br.readLine())!=null){
sb.append(line+"\n");
}
System.out.println(sb.toString());
}catch(Exceptione){
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
publicstaticvoidmain(String[]args){
StringcommandStr="";
CommandTest.exeCmd(commandStr);
}
}
输出结果,具体如下:
正在 Ping [123.57.47.154] 具有 32 字节的数据:
来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52
来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52
来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52
来自 123.57.47.154 的回复: 字节=32 时间=4ms TTL=52
123.57.47.154 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 4ms,最长 = 4ms,平均 = 4ms