我有
ByteBuffer buf = ByteBuffer.allocateDirect(500);
然后我使用buf.put(byte)
几次,比如20。
我通过底层数组将它保存到sql blob,即通过调用buf.array()
。但是,buf.array()
的长度是500.如何获得长度为20的数组(byte [])可以传递给其他(只读)函数? (当然没有复制。)
答案 0 :(得分:3)
试试这个
ByteBuffer buf = ByteBuffer.allocate(500);
buf.putInt(1);
...
...
byte[] a = new byte[buf.position()];
buf.rewind();
buf.get(a);