android中如何从BufferedInputStream中清除缓冲区
例如,如果客户端发送“nick”,则android中如何从BufferedInputStream中清除缓冲区,android,sockets,tcp,Android,Sockets,Tcp,例如,如果客户端发送“nick”,则BuffredInputStream将读取“nick”,如果客户端发送“sanders”,则BuffredInputStream将自动附加“nicksanders” 那么,如何从BuffredInputStream中清除旧chunck,以便每次从BuffredInputStream读取时都能从中获取新字符串呢 代码: 无法刷新inputstream,outputstream可以刷新,因为它实现了Flushable接口。是否尝试了flush()方法?您所说的不是
BuffredInputStream
将读取“nick”,如果客户端发送“sanders”,则BuffredInputStream
将自动附加“nicksanders”
那么,如何从BuffredInputStream
中清除旧chunck,以便每次从BuffredInputStream
读取时都能从中获取新字符串呢
代码:
无法刷新inputstream,outputstream可以刷新,因为它实现了Flushable接口。是否尝试了flush()方法?您所说的不是真的。你会读“尼克”和“桑德斯”,或者可能同时读,或者读其中一个和另一个的一部分,但你永远不会读“尼克”两遍。不清楚您的实际问题是什么。@Sandeep what
flush()
method?@Sandeep flush method只适用于outputstream,不适用于inputstream…@EJP我不是说它会读取nick两次,而是当您先发送“nick”然后发送“sanders”时然后它将附加上前面的字符串,如上面的问题所述……您有其他选择吗?我正在使用蓝牙流
if (bos1.available() > 0) {
int ij = bos1.read();
// msgLog is string
msgLog += new Character((char) ij).toString();
}