java 调用shell 命令并获取返回值
时间: 2023-07-30 08:12:01 浏览: 145
在 Java 中可以使用 `Runtime` 类的 `exec()` 方法来执行 shell 命令。示例代码如下:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
try {
// 执行 shell 命令
Process process = Runtime.getRuntime().exec("ls -al");
// 获取命令执行的返回结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
int exitCode = process.waitFor();
// 打印命令执行的返回值
System.out.println("Command exited with code " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的示例代码中,我们使用 `Runtime.getRuntime().exec()` 方法执行了一个 `ls -al` 的 shell 命令,并通过 `BufferedReader` 读取命令的返回结果。同时,我们还使用 `process.waitFor()` 方法等待命令执行完成,并通过 `process.exitValue()` 方法获取命令执行的返回值。
阅读全文