在 java 中的字符串中过滤 \n
Filter \n in a String in java
我有这个简单的代码:
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
时,仍然 "return message" 被打印到终端(在那种情况下是 Telnet)
此外,当我尝试 tmp.equals("\n")
时,它没有捕捉到 Enter
。
我该怎么做才能捕捉到 return message
未打印出来的 Enter
?
BufferedReader
class 的方法 readLine()
在出现换行符 \n
时终止。
这意味着\n
不能在tmp
。
供参考:https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine%28%29
我有这个简单的代码:
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
时,仍然 "return message" 被打印到终端(在那种情况下是 Telnet)
此外,当我尝试 tmp.equals("\n")
时,它没有捕捉到 Enter
。
我该怎么做才能捕捉到 return message
未打印出来的 Enter
?
BufferedReader
class 的方法 readLine()
在出现换行符 \n
时终止。
这意味着\n
不能在tmp
。
供参考:https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine%28%29