要在Java中接收Python程序的输出,可以使用Java的ProcessBuilder
或Runtime.exec()
方法来启动Python程序,并获取其输出
Python程序(output.py):
print("Hello from Python!")
Java程序:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
try {
// 指定Python解释器路径,例如 "python" 或 "python3"
String pythonPath = "python";
// 指定Python脚本的路径
String scriptPath = "/path/to/your/output.py";
// 使用ProcessBuilder启动Python程序
ProcessBuilder processBuilder = new ProcessBuilder(pythonPath, scriptPath);
Process process = processBuilder.start();
// 读取Python程序的输出
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println("Python output: " + line);
}
}
// 等待Python程序执行完成,并获取退出状态
int exitCode = process.waitFor();
System.out.println("Python process exited with status: " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的Java代码中,我们首先使用ProcessBuilder
启动Python程序。然后,我们使用BufferedReader
读取Python程序的输出,并将其打印到控制台。最后,我们等待Python程序执行完成,并获取其退出状态。
请注意,你需要根据实际情况修改pythonPath
和scriptPath
变量的值,以便正确地指向Python解释器和Python脚本。