Recuperar dados j2me usando ByteArrayInputStream

Ola turma queria saber como recuperar os dados usando o sistema
ByteArrayInputStream. Para cada registro tenho 4 campos
to fazendo o seguinte;

   openddrBook()//;abre o registro
                RecordEnumeration enumerator = addrBook.enumerateRecords(null, null, false);
                byte[] recBytes = enumerator.nextRecord();

                ByteArrayInputStream in = new ByteArrayInputStream(recBytes);
                DataInputStream dIn = new DataInputStream(in);
             
                String item = dIn.readUTF();//1
                ScreenNomes.append("Nome:" + item, null);
                int n = dIn.readInt();
                ScreenNomes.append("Phone:" + n, null);//2
                String ender = dIn.readUTF();

As 2 primeiras leituras ok do mesmo resgistro,mas qd vou pegar o campo endereço lança um exceção.Como poderia fazer para mandar ler naquele campo especifico?
Tenho que percorrer o array de bytes[] ?Ou usar campos para especificar
onde esta colocado o determinado compo que preciso.Tipo assim;

 indices |0|1 |2|3|4|5|6|7| 8 | 9| 10|11|12|13|14|15|16|17|18|19|20|21|
registro[ n o  m e :  K e n  E   M   A   I    L  :   x   x   x   @  t.    i    t

na posição do vetor 0 começa o nome, na posição 8 começa o email
seria por ai???
valeu pelas dicas !! :wink:

da uma olhada nesse tuto: persistência com midp

flw, t+