在Java中直接调用Python脚本的一个常见方法是使用`Runtime.getRuntime().exec()`或者`ProcessBuilder`类来执行Python脚本。这里提供一个使用`Runtime.getRuntime().exec()`方法的简单例子。
首先,确保你的系统上已经安装了Python,并且Python脚本是可执行的。
Java代码示例:
try {
// 假设你的Python脚本叫做script.py,并且位于Java项目的根目录下
String pythonScriptPath = "./script.py";
// 使用Runtime的exec方法来执行Python脚本
// 注意:这里假设你的Python解释器已经添加到系统的PATH环境变量中
Process process = Runtime.getRuntime().exec("python " + pythonScriptPath);
// 读取脚本的输出(如果需要的话)
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 script exited with code " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
请注意,这个例子中我们假设Python解释器(如`python`或`python3`,取决于你的系统配置)已经添加到了系统的PATH环境变量中,因此可以直接通过命令行调用。如果Python解释器不在PATH中,你需要提供完整的路径,比如`"/usr/bin/python3" + " " + pythonScriptPath`。
此外,`ProcessBuilder`类提供了一个更灵活的方式来处理进程,它允许你设置环境变量、工作目录等。但在这个简单的例子中,`Runtime.getRuntime().exec()`已经足够。
如果你的Python脚本需要输入或者更复杂的交互,你可能需要更复杂的处理逻辑来读取和写入到`Process`的输入输出流中。