Ler string num random access file

2 respostas
N

olá, no código abaixo eu monto uma string lendo char de um random acces file, mas ele não me devolve no formato ASCII, então acaba aparecendo uns caracteres estranhos, alguém pode me ajudar??

private String leiaCodigo(long posicao)
 {
  String aux = "";
  try 
  {
   arq.seek(posicao);
  } 
  catch (IOException e) {}
  
  for (int cont = 1; cont <= this.TAMANHO_COD; cont++)
	   try 
       {
	 	aux = aux + arq.readChar();
	   } 
       catch (IOException e) {}
  
  return aux;
 }

2 Respostas

T

readChar lê um caracter do Java, que você deve saber que tem 2 bytes (Unicode).

Pelo que imagino, você deveria trocar “arq.readChar()” por (char) arq.readByte().

(Mas ler um caracter de cada vez é MUITO MUITO MUITO lento. Se não tiver um motivo MUITO especial para fazer isso, evite usar readByte e outras rotinas que lêem as coisas um byte de cada vez. )

N

problema resolvido, obrigado

Criado 29 de março de 2006
Ultima resposta 29 de mar. de 2006
Respostas 2
Participantes 2