java怎么执行shell命令并返回结果

696
2023/8/28 11:58:37
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中,可以使用ProcessBuilder类来执行shell命令并返回结果。

下面是一个例子:

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("\n命令执行完毕,Exit Code : " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

在这个例子中,ProcessBuilder对象被用来创建一个子进程来执行指定的命令。然后,通过getInputStream()方法获取命令执行结果的输入流,并通过BufferedReader读取输出。最后,使用waitFor()方法等待命令执行完成,并获取命令的退出码。

上述例子中,执行的是ls命令,如果要执行其他命令,只需要将command变量替换为所需的命令即可。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Java中怎么把两个数组合并