Sto cercando di scrivere un metodo che stampi il contenuto dl un oggetto ByteBuffer, o meglio, prima stampi il contenuto come sequenza di byte e successivamente come sequenza di caratteri. Questo è il codice che ho finora sviluppato:

codice:
public static void printByteBuffer(ByteBuffer buf) {
    for (byte b : buf.array())
	System.out.format("%02X ", b);
		
    System.out.print("| ");
	     
    for (char c : buf.asCharBuffer().array())
	System.out.print(c);
		
    System.out.println();
}
Nonostante compili quando viene eseguito solleva un eccezzione di tipo "UnsupportedOperationException" e presumibilmente la cosa è da associare alla creazione dell'array di caratteri in quanto l'output che ottengo è del seguente tipo:

codice:
69 6D 70 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 2A | java.lang.UnsupportedOperationException