21xrx.com
2025-03-26 10:12:26 Wednesday
文章检索 我的文章 写文章
【教程】如何在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);

  
  

评论区