java 调用命令 获取命令执行结果
时间: 2023-08-03 12:00:53 浏览: 111
在Java中,可以通过执行操作系统命令并获取命令执行结果的多种方式,其中最简单的方法是使用`ProcessBuilder`类。
首先,我们需要创建一个`ProcessBuilder`对象,并将要执行的命令作为参数传递给该对象。然后,我们可以使用`start()`方法启动命令,创建一个`Process`对象。
可以使用`Process`对象提供的方法来获取命令的执行结果。其中,`getInputStream()`方法用于获取命令的输出流,`getErrorStream()`方法用于获取命令的错误流,`getOutputStream()`方法用于获取命令的输入流。
例如,如果我们要获取命令的输出结果,可以使用如下代码:
```java
ProcessBuilder processBuilder = new ProcessBuilder("command");
Process process = processBuilder.start();
// 获取命令的输出流
InputStream inputStream = process.getInputStream();
Scanner scanner = new Scanner(inputStream);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
```
在上述代码中,我们使用`Scanner`类从输入流中读取命令的输出,并逐行打印出来。
同样的,我们也可以获取命令的错误流或输入流并进行相应的处理。
需要注意的是,`ProcessBuilder`类和`Process`类在Java的`java.lang.ProcessBuilder`和`java.lang.Process`包中定义,所以我们需要在代码中引入相应的包。
总结起来,通过使用`ProcessBuilder`类,Java可以方便地调用操作系统命令并获取命令的执行结果。