从缓冲的字符串中读取所有行 reader

read all lines from string buffered reader

我有一个简单的 client/server 程序,可以从客户端向服务器发送和接收字符串,反之亦然。 某些字符串包含换行符 "n\",例如 "ERR\nASCII: OK"

我的缓冲 reader:

BufferedReader in =
                new BufferedReader(
                    new InputStreamReader(ConverterSocket.getInputStream()));

我正在尝试向用户/客户端显示字符串中的每一行。

我尝试了以下 for 循环:

for (line = in.readLine(); line != null; line = in.readLine()){
                    System.out.println(line);
                }

输出(如预期):

ERR
ASCII: OK

但循环并未结束。我也试过:

   while ((line = in.readLine()) != null){
        system.out.println(line)
    }

这也没有正确结束。 我怎样才能打印字符串中的所有行?

readLine() 方法 returns 流末尾为 null,直到对等方关闭连接才会发生。