我目前有以下要从我的Java程序运行的批处理脚本:
“C:\程序 文件\的Java \ jdk1.6.0_25 \斌\ java.exe的” -classpath“D:......” 主要> “... \ result.out”
现在,我做了一个简单的
Runtime.getRuntime().exec(command);
其中command
是我在上面显示的字符串。问题是它只是用显示的参数调用java.exe
,而不是用给定的参数调用控制台。区别是微妙的,因为如果它直接调用java.exe
,它将忽略输出流的重定向!
有一种简单的方法吗?我尝试使用“cmd”作为command
的前缀,但这似乎没有帮助。
我想远离必须阅读输出流,然后必须手动将其保存到文件中。
由于
答案 0 :(得分:2)
要解决这个问题,
cmd /c "command"
就够了。
答案 1 :(得分:0)
Process proc = Runtime.getRuntime().exec("acpi -b");
现在你可以像任何正常的输入和输出流一样使用proc.getInputStream()和proc.getOutputStream()。
然后,您可以将内容写入输出文件。
这是我主要使用的方法。