Java tutorial
//package com.java2s; public class Main { /** * Split a byte array <tt>input</tt> into two arrays at <tt>index</tt>, * i.e. the first array will have the lower <tt>index</tt> bytes, the * second one the higher <tt>input.length - index</tt> bytes. * * @param input the byte array to be split * @param index the index where the byte array is split * @return the splitted input array as an array of two byte arrays * @throws ArrayIndexOutOfBoundsException if <tt>index</tt> is out of bounds */ public static byte[][] split(byte[] input, int index) throws ArrayIndexOutOfBoundsException { if (index > input.length) { throw new ArrayIndexOutOfBoundsException(); } byte[][] result = new byte[2][]; result[0] = new byte[index]; result[1] = new byte[input.length - index]; System.arraycopy(input, 0, result[0], 0, index); System.arraycopy(input, index, result[1], 0, input.length - index); return result; } }