Java ByteBuffer convert to byte array
import java.nio.ByteBuffer; import java.util.Arrays; public class Main { public static void main(String[] argv) throws Exception { byte[] byteArray = new byte[] { 65, 66, 67, 68, 69 }; ByteBuffer bb = ByteBuffer.wrap(byteArray); byteArray = toArray(bb);// w w w .ja va 2 s . co m System.out.println(Arrays.toString(byteArray)); } public static byte[] toArray(final ByteBuffer buffer) { byte[] array = new byte[buffer.limit()]; buffer.get(array); return array; } }
import java.nio.ByteBuffer; import java.util.Arrays; public class Main { public static void main(String[] argv) throws Exception { byte[] byteArray = new byte[] { 65, 66, 67, 68, 69 }; ByteBuffer bb = ByteBuffer.wrap(byteArray); byteArray = convertByteBufferToArray(bb); System.out.println(Arrays.toString(byteArray)); }/* ww w .java 2 s. c om*/ public static byte[] convertByteBufferToArray(java.nio.ByteBuffer buf) { if (buf.hasArray()) { return buf.array(); } else { buf.rewind(); byte[] array = new byte[buf.remaining()]; int index = 0; while (buf.hasRemaining()) { array[index++] = buf.get(); } return array; } } }
import java.nio.ByteBuffer; public class Main { /**//from w ww . j a va 2 s . c o m * Reads an array of bytes from the given buffer * @param buffer Buffer containing the desired bytes * @param len length of the desired bytes * @return a new buffer with the given number of bytes from the current * position in the given buffer */ public static byte[] getBytes(ByteBuffer buffer, int len) { byte[] bytes = new byte[len]; buffer.get(bytes); return bytes; } /** * Reads an array of bytes from the given buffer at the given offset * @param buffer Buffer containing the desired bytes * @param offset Offset at which to read the bytes * @param len length of the desired bytes * @return a new buffer with the given number of bytes from the given * position in the given buffer */ public static byte[] getBytes(ByteBuffer buffer, int offset, int len) { int origPos = buffer.position(); try { buffer.position(offset); return getBytes(buffer, len); } finally { buffer.position(origPos); } } } /* Copyright (c) 2005 Health Market Science, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA You can contact Health Market Science at info@healthmarketscience.com or at the following address: Health Market Science 2700 Horizon Drive Suite 200 King of Prussia, PA 19406 */