租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

java如何执行shell命令并返回结果,java如何执行shell脚本

发布时间:2023-09-18 08:52:18

java如何履行shell命令并返回结果

在Java中,可使用`ProcessBuilder`类来履行shell命令并返回结果。
下面是一个例子:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ExecuteShellCommand {
public static void main(String[] args) {
String command = "ls"; // 要履行的shell命令
try {
// 创建ProcessBuilder对象
ProcessBuilder processBuilder = new ProcessBuilder(command);
// 使用ProcessBuilder履行命令
Process process = processBuilder.start();
// 通过process的输入流获得命令履行结果
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(" 命令履行终了,Exit Code : " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,`ProcessBuilder`对象被用来创建一个子进程来履行指定的命令。然后,通过`getInputStream()`方法获得命令履行结果的输入流,并通过`BufferedReader`读取输出。最后,使用`waitFor()`方法等待命令履行完成,并获得命令的退出码。
上述例子中,履行的是`ls`命令,如果要履行其他命令,只需要将`command`变量替换为所需的命令便可。