у меня есть
ByteBuffer buf = ByteBuffer.allocateDirect(500);
Затем я использую buf.put(byte)
пару раз, скажем 20. Я сохраняю его в sql blob через базовый массив, то есть, вызывая buf.array()
. Однако длина buf.array()
равна 500. Как получить массив (byte []) длиной 20, который может быть передан другим (только для чтения) функциям? (без копирования, конечно.)
попробуй это
ByteBuffer buf = ByteBuffer.allocate(500);
buf.putInt(1);
...
...
byte[] a = new byte[buf.position()];
buf.rewind();
buf.get(a);