0

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

4

1 回答 1

2

原来我忘了刷新流。

于 2013-04-11T09:40:17.987 回答