Просто используйте NIO. Он предназначен для этой конкретной цели. ByteBuffer и IntBuffer сделают то, что вам нужно, быстро, эффективно и элегантно. Он будет обрабатывать преобразования с прямым / обратным порядком байтов, «прямые» буферы для высокопроизводительного ввода-вывода, и вы даже можете смешивать типы данных в байтовый буфер.
Преобразование целых чисел в байты:
ByteBuffer bbuffer = ByteBuffer.allocate(4*theIntArray.length);
IntBuffer ibuffer = bbuffer.asIntBuffer(); //wrapper--doesn't allocate more memory
ibuffer.put(theIntArray); //add your int's here; can use
//array if you want
byte[] rawBytes = bbuffer.array(); //returns array backed by bbuffer--
//i.e. *doesn't* allocate more memory
Преобразование байтов в целые числа:
ByteBuffer bbuffer = ByteBuffer.wrap(rawBytes);
IntBuffer ibuffer = bbuffer.asIntBuffer();
while(ibuffer.hasRemaining())
System.out.println(ibuffer.get()); //also has bulk operators