获取cmd导致Java

时间:2017-01-14 23:50:58

标签: java cmd

我正在java中为编程语言haskell编写一个简单的编程环境。作为一个功能,我想在我的java程序中显示Haskell编译器结果。您可以使用命令“ghci haskellfile.hs”在cmd中编译Haskell文件,当然只有安装了haskell编译器。

但是我遇到了一个问题:这是我从cmd获取Haskell编译器结果的代码。

            ProcessBuilder pb = new ProcessBuilder("cmd","/c","ghci haskellfile.hs");
            Process p = pb.start();
            InputStream out = p.getInputStream();

            int i=0;
            String output = "";

            while(i!=-1){
                output += (char) i;
                i = out.read();
            }

            System.out.println(output);

它适用于“dir”或其他cmd命令之类的命令,但是当我使用“ghci haskellfile.hs”尝试它时,java程序冻结并且不显示任何输出。 你知道这是什么原因以及如何解决它?

感谢您的回答:)

0 个答案:

没有答案