Phone select the file and in response to it SIM send the response, for whihc mobile again run a command which is known as Get Response, In this get response SIM send the details of that file. Now in case of ADN which is a record file command will contains file size and record length so Total records will be Size/Record length.
You can read about these command in more details in 3GPP 11.11
Now regarding seraching the data in STK applet is not very time consuming, STK applets are very fast and 250 records are not too much, so in a loop just read record and check for 21 bytes if it is FF then record is empty. Structure of ADM records is:-
1 to X Alpha Identifier O X bytes
X+1 Length of BCD number/SSC contents M 1 byte
X+2 TON and NPI M 1 byte
X+3 to X+12 Dialling Number/SSC String M 10 bytes
X+13 Capability/Configuration Identifier M 1 byte
X+14 Extension1 Record Identifier M 1 byte
In your case length is 34 so first 20 bytes conmtains the name(here we call it Alpha ID) then number starts. Well I am asking to check 21th byte because it could be a case whne user saved a number without any name. So dont check first byte.
Hope it is helpful.. :-)