Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java执行linux命令行

作者:仅限对你关心   发布日期:2025-02-22   浏览:46

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();
        }
    }
}

解释说明:

  1. 定义命令:我们定义了一个简单的Linux命令ls -l,它会列出当前目录下的所有文件和文件夹,并显示详细信息。
  2. ProcessBuilder:使用ProcessBuilder类来构建并启动一个新的进程,执行指定的命令。这里我们使用了"bash -c"来确保命令在Bash shell中执行。
  3. 读取输出:通过BufferedReader读取命令的标准输出流,并逐行打印出来。
  4. 等待完成:使用process.waitFor()等待命令执行完毕,并获取其退出状态码(0表示成功)。

这个示例展示了如何从Java程序中执行Linux命令并处理其输出。

上一篇:java 枚举类

下一篇:java面向对象

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站