【发布时间】:2015-05-10 19:51:54
【问题描述】:
假设我正在使用这样的 Socket InputStream,以便读取以下数据:
(第一部分用 ASCII 编码)
the rest of this message is binaryCRLF
01100110010...
代码:
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
BufferedReader in = new BufferedReader(isr);
String line = in.readLine();
我现在期望的是line 包含文本:
这条消息的其余部分是二进制的
那我想用原来的socket InputStream:
InputStream is = socket.getInputStream();
...
读取消息的二进制部分。
现在,如果 BufferedReader 缓冲了一些二进制数据怎么办,
这将是一个问题,因为我会错过部分数据。
我错过了什么吗?
【问题讨论】:
-
你的方法有效吗?
-
这更多的是对缓冲输入流的工作原理缺乏了解,而不是实际问题。
标签: java sockets http web stream