我正在开发一个需要我使用 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 程序没有收到这个输入,我想知道:为什么会发生这种情况?