从Windows中的Java程序运行命令提示符

时间:2011-05-27 08:28:30

标签: java windows runtime.exec

我目前有以下要从我的Java程序运行的批处理脚本:

  

“C:\程序   文件\的Java \ jdk1.6.0_25 \斌\ java.exe的”   -classpath“D:......”   主要>   “... \ result.out”

现在,我做了一个简单的

Runtime.getRuntime().exec(command);

其中command是我在上面显示的字符串。问题是它只是用显示的参数调用java.exe,而不是用给定的参数调用控制台。区别是微妙的,因为如果它直接调用java.exe,它将忽略输出流的重定向!

有一种简单的方法吗?我尝试使用“cmd”作为command的前缀,但这似乎没有帮助。

我想远离必须阅读输出流,然后必须手动将其保存到文件中。

由于

2 个答案:

答案 0 :(得分:2)

要解决这个问题,

cmd /c "command"

就够了。

答案 1 :(得分:0)

Process proc = Runtime.getRuntime().exec("acpi -b");                            

现在你可以像任何正常的输入和输出流一样使用proc.getInputStream()和proc.getOutputStream()。

然后,您可以将内容写入输出文件。

这是我主要使用的方法。