Karen,
 
Deve ter alguma linha com a quantidade de caracteres menor que 2.
Uma correção no codigo: na linha  tipo = line.substring(1,2)  o correto eh  tipo = line.substring(0,2), pois esse metodo trabalha com posição relativa ao inicio do string. Assim o primeiro byte tem posição relativa 0.
 
Roberto Tatemoto 
 
----- Original Message -----
To: Lista
Sent: Friday, March 30, 2001 3:00 PM
Subject: [java-list] por que????????

Pessoal, estou tentando ler o conteúdo de um arquivo que o usuário escolhe. Após o usuário escolhê-lo, devemos validá-lo, sendo que os dois primeiros caracteres da primeira linha do arquivo escolhido devem ser "10" e os da última linha devem ser "90". Ocorre um erro quando eu tendo fazer um substring da linha corrente e "pegar" este valor para saber se á 10 ou 90... o erro é StringIndexOutOfBoundsException: String index out of range: 2...
O que está errado, alguém pode me dizer???
 
  try {
   FileReader fr = new FileReader(NomeArquivoEscolhido);  
   BufferedReader br = new BufferedReader(fr);
   String line = "";
   while((line=br.readLine())!=null) {
    tipo  = line.substring(1,2);
    if (tipo.equals("10")) {valido = true;}
    if (tipo.equals("90")) {valido = true;}
   }
   br.close();
  } catch(FileNotFoundException e){}
    catch(IOException e){}
thank's
[]s
Karen

Responder a