Java 从字符串缓冲读取器读取所有行
我有一个简单的客户机/服务器程序,从客户机到服务器发送和接收字符串,反之亦然。 某些字符串包含换行符Java 从字符串缓冲读取器读取所有行,java,inputstream,bufferedreader,Java,Inputstream,Bufferedreader,我有一个简单的客户机/服务器程序,从客户机到服务器发送和接收字符串,反之亦然。 某些字符串包含换行符“n\”,例如“ERR\nASCII:OK” 我的缓冲读取器: BufferedReader in = new BufferedReader( new InputStreamReader(ConverterSocket.getInputStream())); 我试图向用户/客户端显示字符串中的每一行 我尝试了以下for循环:
“n\
”,例如“ERR\nASCII:OK”
我的缓冲读取器:
BufferedReader in =
new BufferedReader(
new InputStreamReader(ConverterSocket.getInputStream()));
我试图向用户/客户端显示字符串中的每一行
我尝试了以下for循环:
for (line = in.readLine(); line != null; line = in.readLine()){
System.out.println(line);
}
产出(如预期):
但循环并没有结束。我也尝试过:
while ((line = in.readLine()) != null){
system.out.println(line)
}
这也不能很好地结束。
如何打印字符串中的所有行 readLine()方法在流结束时返回null,直到对等方关闭连接才会出现。读取循环等待下一条消息。如果行尾不是消息的结尾,您应该设计一个协议,以便读取循环知道何时停止。
while ((line = in.readLine()) != null){
system.out.println(line)
}