ProcessBuilder を使用して Java アプリケーションからインタラクティブな実行可能ファイルを実行しようとしています。入力を受け取り、出力を生成してから、次の入力を待つことになっています。ここでの主な問題は、入出力ストリームです。入力を送信しても何も得られません。コードは次のとおりです。
private static Process process;
private static BufferedReader result;
private static PrintWriter input;
process = new ProcessBuilder("compile-lm", lmFile.toString(), " --score yes").redirectErrorStream(true).start();
input = new PrintWriter(new OutputStreamWriter(process.getOutputStream()), true);
input.println(message);
System.out.println(message);
result = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = new String();
while ((line = result.readLine()) != null)
{
/* Some processing for the read line */
System.out.println("output:\t" + line);
}