Pessoal,
Estou gravando um array de bytes de mais ou menos 200 posições em um recorStore porem quando o recupero vem com lixo(“日About Wirel”), alguem sabe porque isso??
:roll: Gi
Lixo quando leio de um RecordStore
4 Respostas
Na verdade oq está acontecendo é que eu não estou conseguindo converter uma string para array de byte, o que eu faço???
Como você fazem para armazenar letras??? Não me digam que só po0de armazenar numeros em um rms???
:evil:
você está gravando e recuperando os dados usando fluso de dados?
public void writeRecord(String str){
byte rec[] = str.getBytes();
try {
rs.addRecord(rec,0,rec.length);
}
catch(Exception e) {
Msg(e.toString());
}
}
e para ler:
public String readRecords(int recordId){
try {
String recData="";
if(recordId <=rs.getNumRecords()) {
recData=(rs.getRecord(recordId)).toString();
Msg(recData);
return recData;
}
else
return "notFound";
}
catch(Exception e) {
Msg(e.toString());
return "Exception";
}
}
Eu Consegui…
na verdade não estva convertendo direito com o getBytes() e fiz da maneira abaixo e funcionou…
public String readRecords(int recordId){
try {
byte recData[] = new byte[210];
if(recordId<=rs.getNumRecords()) {
if(rs.getRecordSize(recordId)>recData.length){
recData=new byte[rs.getRecordSize(recordId)];
}
recData=rs.getRecord(recordId);
String recStr = new String(recData);
return recStr;
}
else
return "notFound";
}
catch(Exception e) {
Msg(e.toString());
return "Exception";
}
}