我正在开发一个项目,要求我使用Process类运行scala实例。为此,我执行以下代码:
Process process = RunTime.getRunTime().exec("<path to scala binary> <scala file>");
此调用为我提供了正在执行的scala程序的进程代表。我能够访问进程的输入流并从进程接收输入:
BufferedReader stdin = new BufferedReader(new InputStreamReader(process.getInputStream()));
stdin.readLine();
我尝试运行的scala程序涉及一个扫描程序,它接收输入并将其打印出来。当我尝试将BufferedWriter注册到从process.getOutputStream()生成的OutputStreamWriter时,然后使用以下命令写入该流:
stdout.write("Hello");
scala程序没有收到此输入,我想知道:为什么会发生这种情况?
答案 0 :(得分:2)
原来我忘记冲洗流了。