怎么获取 Runtime.getRuntime().exec()的错误信息
时间: 2023-12-15 21:40:46 浏览: 380
要获取 Runtime.getRuntime().exec() 方法执行过程中的错误信息,可以通过以下步骤来实现:
1. 使用 try-catch 块来捕获可能抛出的异常。
2. 在 catch 块中,通过捕获的异常对象获取错误信息。
以下是一个示例代码:
```java
try {
// 执行命令
Process process = Runtime.getRuntime().exec("your_command_here");
// 等待命令执行完成
int exitCode = process.waitFor();
// 检查命令执行结果
if (exitCode == 0) {
// 命令执行成功
// 处理命令输出结果
InputStream inputStream = process.getInputStream();
// ...
} else {
// 命令执行失败
// 获取错误信息
InputStream errorStream = process.getErrorStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(errorStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
```
在上述代码中,我们使用 try-catch 块捕获可能抛出的 IOException 和 InterruptedException 异常。如果命令执行成功(exitCode 为 0),我们可以通过 process.getInputStream() 获取命令的输出结果。如果命令执行失败(exitCode 不为 0),我们可以通过 process.getErrorStream() 获取错误信息,并通过 BufferedReader 逐行读取并打印出来。
请注意,这只是一个基本示例,并且您需要将 "your_command_here" 替换为您实际要执行的命令。另外,确保适当处理输入和输出流以避免任何资源泄漏。
阅读全文