日期:2014-05-18  浏览次数:20742 次

DataInputStream怎么定位?
DataInputStream读取数据后,指针都是顺次往后移的,我现在想定位到DataInputStream某个特定的位置读取数据应该怎么办? 
DataInputStream 定位 指针

------解决方案--------------------
其实可以换个思路,先把数据读取存在数组上,在对数组进行操作,得到想要的数据
------解决方案--------------------
datainputstream.reset()试试
------解决方案--------------------
引用:
Quote: 引用:

其实可以换个思路,先把数据读取存在数组上,在对数组进行操作,得到想要的数据


我确实这样想过,但是我那个数据量很大的,而且因为特殊需求不能分割,有2G,全部写入数组不仅费时间,内存也会爆掉的
 
我现在想到一个比较本的方法是每次要定位到某个位置时先将datainputstream定位到开头,然后用skipbytes()跳过指定数量字节到达指定位置 


照这样的话也可以直接读,到了特定的位置再把数组下标从零开始,把前面没用的数据覆盖掉