下面代码
byte[] data = new byte[100];
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data));while (true){
//.............................
//将新数据写到data中
dis.reset();
dis.readXXX();
//.............................
}
我想问,dis.reset()的作用是什么,为什么每次dis.readXXX()读到的数据都是最新的,是不是在执行dis.reset()的时候,data作为ByteArrayInputStream的缓冲区数组也被清空了,所以data中存放的总是最新数据
且为什么reset()不结合(int i)一起用,还望指教!
byte[] data = new byte[100];
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data));while (true){
//.............................
//将新数据写到data中
dis.reset();
dis.readXXX();
//.............................
}
我想问,dis.reset()的作用是什么,为什么每次dis.readXXX()读到的数据都是最新的,是不是在执行dis.reset()的时候,data作为ByteArrayInputStream的缓冲区数组也被清空了,所以data中存放的总是最新数据
且为什么reset()不结合(int i)一起用,还望指教!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货