在 JAVA 中检测回车 Return(\r\n)

Detecting Carriage Return (\r\n) in JAVA

我将一条消息发送到 Java 中的套接字(本地),在每条消息之后发送 \n\r,最后我发送空行,这样:

ROCK\r\n

PAPER\r\n

\r\n

我必须将 ROCK 和 PAPER 放入字符串中并使用以下代码:

        while ((sc = in1.readLine()) != null)
        {
            clientMsg += sc + "sep";
            System.out.println(sc);
            System.out.println("end");
        }

但是,这无法检测到消息中的空行并终止 while 循环,直到它停留在那里什么都不做。输入的输出:

ROCK\r\n PAPER\r\n \r\n

如下:

ROCK    
end
PAPER
end

end

循环将在流到达文件末尾 EOF 时终止,因为您正在检查 null 而不是空行。做你想做的,你可以改变循环的条件,像这样:while ((sc = in1.readLine()) != null && !sc.isEmpty())