java代码如何执行shell命令行

原创
ithorizon 6个月前 (10-20) 阅读数 17 #综合信息
使用 java 执行 shell 命令可以按以下步骤进行:导入必要库。创建 processbuilder 对象。重定向输出和错误流。启动进程。获取输出并打印到控制台。等待进程完成。

如何使用 Java 执行 Shell 命令

要使用 Java 执行 Shell 命令,可以使用以下步骤:

  1. 导入必要的库

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    登录后复制
  2. 创建 ProcessBuilder 对象

    立即学习“Java免费学习笔记(深入)”;

    ProcessBuilder pb = new ProcessBuilder("YOUR_SHELL_COMMAND");
    登录后复制
  3. 重定向输出和错误流

    pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
    pb.redirectError(ProcessBuilder.Redirect.INHERIT);
    登录后复制
  4. 启动进程

    Process process = pb.start();
    登录后复制
  5. 获取输出

    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line;
    while ((line = reader.readLine()) != null) {
     // 逐行读取输出并打印到控制台
     System.out.println(line);
    }
    登录后复制
  6. 等待进程完成

    process.waitFor();
    登录后复制

示例代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ShellCommandExecutor {

    public static void main(String[] args) {
        String command = "ls -l"; // Shell 命令

        // 按照上述步骤执行命令
        ProcessBuilder pb = new ProcessBuilder(command);
        pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
        pb.redirectError(ProcessBuilder.Redirect.INHERIT);

        try {
            Process process = pb.start();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            process.waitFor();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
登录后复制

以上就是java代码如何执行shell命令行的详细内容,更多请关注IT视界其它相关文章!



热门