缓冲写入器 - 在内部写入带有“\ n”的字符串

时间:2014-03-26 04:01:44

标签: java bufferedwriter

我想知道是否可以使用BufferedWriter发送带有换行符的单个字符串。

对于上下文,我需要通过网络发送以下字符串:

String message = "LOOKREPLY\nX...X\n.....\n.....\n.....\nX...X"
socketOutput = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
socketOutput.write(message + "\n");

但由于换行符,这会通过网络发送6条消息。我可以在客户端重新构建它,但想知道是否有更简洁/更简单的方法。

1 个答案:

答案 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