21xrx.com
2024-12-28 13:25:24 Saturday
登录
文章检索 我的文章 写文章
【教程】如何在Java程序中调用shell脚本
2023-06-16 21:08:51 深夜i     --     --
Java shell脚本 ProcessBuilder

在Java开发中,有时需要在程序中执行一些shell脚本,本文将介绍如何在Java程序中调用shell脚本。

首先,我们需要使用Java中的ProcessBuilder类来创建一个进程,代码如下:

 java

ProcessBuilder processBuilder = new ProcessBuilder("/bin/sh", "path/to/your/script.sh", "arg1", "arg2");

其中,第一个参数为shell脚本解释器的路径,第二个参数为shell脚本的路径,后面的参数为传递给脚本的参数。

然后,我们可以使用start方法启动这个进程,代码如下:

 java

Process process = processBuilder.start();

接着,我们可以通过process.getInputStream()方法获取进程的输出流,并通过BufferedReader来读取输出,代码如下:

 java

BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));

String line;

while ((line = reader.readLine()) != null) {

  System.out.println(line);

}

最后,我们可以使用process.waitFor()方法等待进程的执行,直到进程结束,代码如下:

 java

int exitCode = process.waitFor();

System.out.println("Process exited with code: " + exitCode);

以上就是在Java程序中调用shell脚本的完整代码,下面是完整的示例:

 java

ProcessBuilder processBuilder = new ProcessBuilder("/bin/sh", "path/to/your/script.sh", "arg1", "arg2");

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("Process exited with code: " + exitCode);

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复