与命令行程序Java和C进行通信

时间:2018-09-13 20:45:28

标签: java c terminal process command-line-interface

可以说我有一个命令行程序。我希望能够从我的java程序中与之通信。我尝试了以下方法:

    Process p = new ProcessBuilder(pathToProgramC).start();
    in = new Scanner(new InputStreamReader(p.getInputStream()));
    out = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

我想使用in和out来读取程序的输出,并写入其输入。

为澄清我的确切问题,我编写了两个最小的程序,一个用Java,一个用C,从终端来看它们的行为是相同的。 但是,以上代码在与Java版本通信时可以正常工作,但是在尝试与C版本通信时可以无限期等待。由于这两个程序从命令行相同地运行,这怎么可能?

0 个答案:

没有答案