Esse erro � porque a sua String � menor que 2 em alguma linha do arquivo escolhido.
Veja o que tem na sua vari�vel line antes de fazer o substring. caso o tamanho dela for menor que 2, j� n�o precisa fazer o "valido = true"
 
Outra coisa: Veja a descri��o do m�todo substring:
 
Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.
 
Ou seja, substring(1,2) te retornar� uma string de tamanho 1. Acho que n�o � o que voc� espera. Pelo que entendi, voc� quer substring(0,2).
 
Abra�os,
Alex
----- 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