【问题标题】:BufferedReader / Scanner not working for "\n"BufferedReader / Scanner 不适用于“\n”
【发布时间】:2017-02-25 21:09:14
【问题描述】:

我正在开发一个客户端-服务器聊天应用程序,客户端通过键入“\n”决定离开聊天室。但是, String.equals() 似乎不起作用。虽然我知道 BufferedReader.readLine() 会丢弃换行符,但我已经尝试使用 Scanner 类,但它也不起作用。我在这里做错了吗?

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String keyboardInput = br.readLine();
            if (keyboardInput.equals("\n")) {
                break;
            }

编辑:意识到我需要用另一个来逃避 \n。

【问题讨论】:

  • 相当于一个空字符串......
  • 是的,我也试过了,但效果不好!
  • 试试 if (keyboardInput.equals("")) { break; }
  • 我没说要试试... ;) 。无论如何,您可能需要稍微说出您的问题。我似乎没有得到你真正想要的东西。
  • 如果用户输入了\n这两个字符,那么你需要比较这两个字符,但是"\n"是一个带有单个换行符 字符,而不是两个单独的字符 \n。要获得 \ 是 Java 字符串文字,请将其加倍,即 "\\n" 是要比较的正确字符串。

标签: java bufferedreader


【解决方案1】:

解决了,意识到我应该在 \n 之前添加一个 \ 来逃避它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    相关资源
    最近更新 更多