【发布时间】:2023-03-06 06:47:01
【问题描述】:
我想使用 BufferedOutputStream 发送单独的消息。所以我做bos.write(msg1); bos.flush(); bos.write(msg2); bos.flush()。另一方面,我有一个 BufferedReader,它依赖于这些消息的分离:
BufferedReader br = new BufferedReader(new InputStreamReader(server.getInputStream()));
InputStream is = server.getInputStream();
while (true) {
if (br.ready()) {
byte[] bytes = new byte[is.available()];
is.read(bytes);
}
}
但我得到的是这样的: “向客户端发送 30 个字节;向客户端发送 30 个字节”,另一端:“收到 60 个字节”。
【问题讨论】:
-
没有必要连接flush()。只需在发送数据的代码末尾调用此方法即可。
标签: java flush bufferedoutputstream