共计 1534 个字符,预计需要花费 4 分钟才能阅读完成。
在 Java 中调用 Python 脚本有多种方法,下面介绍两种常用的方法:
- 使用
ProcessBuilder
类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {public static void main(String[] args) throws IOException {ProcessBuilder pb = new ProcessBuilder("python", "path/to/your/python/script.py");
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;
try {exitCode = process.waitFor();
} catch (InterruptedException e) {e.printStackTrace();
}
System.out.println("Python script exited with code: " + exitCode);
}
}
这种方法通过创建一个 ProcessBuilder
对象来执行 Python 脚本,并读取 Python 脚本输出的结果。可以使用 ProcessBuilder
的start()
方法来启动 Python 脚本,并使用 getInputStream()
方法获取脚本输出的结果。
- 使用
Runtime
类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {public static void main(String[] args) throws IOException {String command = "python path/to/your/python/script.py";
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {System.out.println(line);
}
int exitCode;
try {exitCode = process.waitFor();
} catch (InterruptedException e) {e.printStackTrace();
}
System.out.println("Python script exited with code: " + exitCode);
}
}
这种方法通过调用 Runtime
类的 exec()
方法来执行 Python 脚本,并读取 Python 脚本输出的结果。可以将要执行的 Python 命令传递给 exec()
方法,并使用 getInputStream()
方法获取脚本输出的结果。
无论使用哪种方法,都可以通过读取 Python 脚本的输出来获取结果,并可以使用 waitFor()
方法等待脚本执行完毕,获取脚本的退出码。
丸趣 TV 网 – 提供最优质的资源集合!
正文完