【发布时间】:2016-03-12 18:26:52
【问题描述】:
我有这个简单的代码:
BufferedReader bR = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String tmp = bR.readLine();
System.out.println(tmp);
if (!tmp.contains("\n")) {
PrintWriter pW = new PrintWriter(socket.getOutputStream(), true);
pW.printf("return message: " + tmp);
}
我的问题是,当我在终端中使用 Enter 时,仍然会向终端打印“返回消息”(在这种情况下为 Telnet)
此外,当我尝试tmp.equals("\n") 时,它不会捕捉到Enter。
我该怎么做才能捕捉到return message 没有打印出来的Enter?
【问题讨论】:
-
将 Enter 视为拆分方法中的字符。你永远不会在你的 tmp 变量中得到它
-
如果我正确理解您的问题,条件应该是
if (!tmp.isEmpty())