当前位置: 代码迷 >> J2SE >> 新手请问ByteBuffer
  详细解决方案

新手请问ByteBuffer

热度:91   发布时间:2016-04-24 00:58:58.0
新手请教ByteBuffer
ByteBuffer get(byte[] dst) 
  相对批量 get 方法。 

 ByteBuffer get(byte[] dst, int offset, int length) 
  相对批量 get 方法。 

abstract byte get(int index) 
  绝对 get 方法。 

上面内容来自于java API文档,请问什么是“绝对”方法,什么是“相对”方法?

以上三个方法要么只读取一个字节,要么读取全部字节。我想读取部分字节,怎么做到?用第三个方法去实现?那样会不会效率太低了?

------解决方案--------------------
可以这样做的吧?
Java code
//待读取数据的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的方法。感觉你说的是这个问题吧