java代码如何执行shell命令行

导读:使用 java 执行 shell 命令可以按以下步骤进行:导入必要库。创建 processbuilder 对象。重定向输出和错误流。启动进程。获取输出并打印
使用 java 执行 shell 命令可以按以下步骤进行:导入必要库。创建 processbuilder 对象。重定向输出和错误流。启动进程。获取输出并打印到控制台。等待进程完成。

如何使用 Java 执行 Shell 命令

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

导入必要的库

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

创建 ProcessBuilder 对象

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

ProcessBuilder pb = new ProcessBuilder("YOUR_SHELL_COMMAND");

重定向输出和错误流

pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);

启动进程

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

示例代码:

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命令行的详细内容,更多请关注本网内其它相关文章!

你也想0元试听小码王编程课程吗?
填写信息免费预约
免责申明:以上展示内容来源于合作媒体、企业机构、网友提供或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表小码王官方立场,请读者仅做参考。本文标题:java代码如何执行shell命令行,本文链接:https://www.xiaomawang.cn/help/208801.html;欢迎转载,转载请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何涉及有违公德、触犯法律等违法信息,请您立即通过邮件(邮箱号:)联系我们及时修正或删除。
校区接待前厅
校区太空走廊
校区教室环境
校区多功能教室
小码王少儿编程体验课程免费预约