我想用 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() 放在 Runtime... 行的开头,但失败了。因为,显然,getRuntime()
返回一个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);
}