我正在为一个小项目尝试一些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();
}
答案 0 :(得分:0)
如@ codeflush.dev所述,流没有达到EOF,因此readLine不是可行的选择。