import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ExecuteLinuxCommand {
public static void main(String[] args) {
// 定义要执行的Linux命令
String command = "ls -l"; // 示例命令:列出当前目录下的文件和文件夹,详细信息
try {
// 创建一个ProcessBuilder对象来执行命令
ProcessBuilder processBuilder = new ProcessBuilder("bash", "-c", command);
// 启动进程
Process process = processBuilder.start();
// 获取命令输出流
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 (Exception e) {
e.printStackTrace();
}
}
}
ls -l
,它会列出当前目录下的所有文件和文件夹,并显示详细信息。ProcessBuilder
类来构建并启动一个新的进程,执行指定的命令。这里我们使用了"bash -c"
来确保命令在Bash shell中执行。BufferedReader
读取命令的标准输出流,并逐行打印出来。process.waitFor()
等待命令执行完毕,并获取其退出状态码(0表示成功)。这个示例展示了如何从Java程序中执行Linux命令并处理其输出。
上一篇:java 枚举类
下一篇:java面向对象
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站