Runtime.getRuntime().exec输出日志
时间: 2023-07-21 07:18:17 浏览: 136
当使用`Runtime.getRuntime().exec()`方法执行命令或运行程序时,需要获取该程序的输出结果,可以使用`Process.getInputStream()`方法获取该程序的标准输出流。以下是一个示例代码,它会执行一个Java程序,并将该程序的输出结果打印到控制台:
```java
try {
Process process = Runtime.getRuntime().exec("java -jar MyProgram.jar");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
```
在上面的代码中,`Runtime.getRuntime().exec()`方法会执行`java -jar MyProgram.jar`命令,并返回一个`Process`对象。通过调用`Process.getInputStream()`方法,我们可以获取该程序的标准输出流,并通过`BufferedReader`对象读取该流的内容。最后,我们遍历每一行输出,并将其打印到控制台中。
注意,如果程序的输出结果过多,可能会导致程序阻塞或崩溃。因此,我们应该在读取输出流时使用缓冲区,并尽可能快地读取输出流中的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)