新手请教ByteBuffer
ByteBuffer get(byte[] dst)
相对批量 get 方法。
ByteBuffer get(byte[] dst, int offset, int length)
相对批量 get 方法。
abstract byte get(int index)
绝对 get 方法。
上面内容来自于java API文档,请问什么是“绝对”方法,什么是“相对”方法?
以上三个方法要么只读取一个字节,要么读取全部字节。我想读取部分字节,怎么做到?用第三个方法去实现?那样会不会效率太低了?
[解决办法]
可以这样做的吧?
//待读取数据的ByteBuffer bbByteBuffer bb = ByteBuffer.allocate(1024);//起点位置 beginbb.position(begin);//终点位置 endbb.limit(end);//读取byte [] b = new byte[end - begin];bb.get(b);
[解决办法]
先调用position(int i)方法,到你想开始的地方,然后开始get,这个是其父类Buffer的方法。感觉你说的是这个问题吧