我想知道是否可以使用BufferedWriter发送带有换行符的单个字符串。
对于上下文,我需要通过网络发送以下字符串:
String message = "LOOKREPLY\nX...X\n.....\n.....\n.....\nX...X"
socketOutput = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
socketOutput.write(message + "\n");
但由于换行符,这会通过网络发送6条消息。我可以在客户端重新构建它,但想知道是否有更简洁/更简单的方法。
答案 0 :(得分:1)
在您的代码中
bw.write(message+"\n");
因为它会在写完所有消息之后放置\n
。
BufferedWriter
不会发送6条消息它只会发送一条消息但是当您在字符串中提供\n
时,它会根据该字符写入。
正如delv所说,你可以将转义序列放到\n
,这样它就只会写一行。
String message = "LOOKREPLY\\nX...X\\n.....\\n.....\\n.....\\nX...X";
因此该消息将被写为这样。
LOOKREPLY\nX...X\n.....\n.....\n.....\nX...X