Java Runtimeを使用して、次のPythonスクリプトのstd出力を印刷します。私の理想的な結果は単に "Hello World"を印刷するだけです。なぜ私はjava.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start
になるのですか? My PathとPythonの環境変数が正しく設定されています。Javaランタイムを使用してPythonスクリプトからstd出力を印刷するにはどうすればよいですか?
String commandline = "python /c start python C:\\Users\\Name\\HelloWorld.py"
try {
//TODO java.io.IOException: Cannot run program "dir"
Process process = Runtime.getRuntime().exec(commandline);
process.waitFor();
// Store command line output
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder builder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();
if (result != null) {
PrintWriter out = resp.getWriter();
out.println("<div>" + result + "</div>");
System.exit(0);
} else {
PrintWriter out = null;
}
} catch (IOException e1) {
PrintWriter out = resp.getWriter();
e1.printStackTrace(out);
} catch (InterruptedException e2) {
PrintWriter out = resp.getWriter();
e2.printStackTrace(out);
}
これを行うことができます...なぜ購入するのですか? Pythonスクリプトの機能をJavaにエミュレートするのはなぜですか?私は答えを追加しますが、何があってもポータブルではないでしょうし、javaやpythonのネイティブソリューションほど良くはありません –