gpt4 book ai didi

java - 将操作系统命令的输出写入控制台

转载 作者:行者123 更新时间:2023-11-30 04:45:59 26 4
gpt4 key购买 nike

我想用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() 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);
}

最佳答案

请注意,Runtime.exec(...) 返回一个 Process 对象。您可以使用此对象捕获其输入流并检索它打印到标准输出的任何内容:

Process p = Runtime.getRuntime().exec(location_of_my_exe_and_some_parameters);
InputStream is = p.getInputStream();

// read process output from is

关于java - 将操作系统命令的输出写入控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com