在 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())
我将一条消息发送到 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())