从无限循环中读取流

时间:2019-07-16 15:56:55

标签: java sockets stream

我正在为一个小项目尝试一些Java套接字编程。我遇到了从外部进程读取无限InputStream的问题。程序进入无限循环。

我怀疑readLine()必须读取流,直到EOF。

我已经添加了一些打印语句,并且我确定程序到达了while循环。

这是我的方法:

    public void run() throws IOException {
        Process p = Runtime.getRuntime() .exec(exe);

        BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;

        while((line = in.readLine()) != null){
            System.out.println(line);
            dout.writeUTF(" " + line + " yes!");
            dout.flush();
        }

        in.close();
        dout.close();
        s.close();
        ss.close();
    }

1 个答案:

答案 0 :(得分:0)

如@ codeflush.dev所述,流没有达到EOF,因此readLine不是可行的选择。