我想用Java执行操作系统命令,然后打印出它的返回值。就像这样:将操作系统命令的输出写入控制台
这就是我想...
String location_of_my_exe_and_some_parameters = "c:\\blabla.exe /hello -hi";
Runtime.getRuntime().exec(location_of_my_exe_and_some_parameters);
我试图把一个是System.out.print()在我运行...行的开头,但失败了。因为,显然,getRuntime()
returns a Runtime
object。
现在,问题是,当我在命令行执行“blabla.exe/hello -hi”命令时,我得到如下结果:“您执行了一些命令,欢呼!”。但是,在Java中,我一无所获。
我试图把返回值放入一个Runtime
对象,一个Object
对象。但是,他们都失败了。我怎样才能做到这一点?
问题就迎刃而解了 - 这是我的解决方案
Process process = new ProcessBuilder(location, args).start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
非常感谢你。感谢您亲切,礼貌和快速。 –
@John Doe:确保标记对您最有帮助的答案,以便将来读者快速找到答案。 – Tudor
我认为我不能标记或投票。我没有足够的“业力”。 –