使用Java代码调用python程序
时间: 2024-04-24 22:23:21 浏览: 96
您可以使用Java的`ProcessBuilder`类来调用Python程序。以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PythonCaller {
public static void main(String[] args) {
try {
// 创建ProcessBuilder对象,指定要执行的Python脚本和参数
ProcessBuilder pb = new ProcessBuilder("python", "path/to/your/python_script.py", "arg1", "arg2");
// 设置工作目录(如果需要)
pb.directory(new File("path/to/your/working_directory"));
// 启动进程
Process process = pb.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("Python程序执行完毕,退出码:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
请注意,您需要将`"path/to/your/python_script.py"`替换为实际的Python脚本路径,并根据需要提供参数。如果Python程序需要在特定的工作目录中运行,请使用`pb.directory()`方法设置工作目录。
此代码将启动一个新的进程来执行Python脚本,并读取其输出。您可以使用`ProcessBuilder`的其他方法来设置环境变量、重定向输入/输出、设置超时等。
阅读全文