Hyzek
Junho 29, 2012, 10:34am
#1
Tenho um .txt chamado aaaa com o seguinte conteudo
Nome1;1
Nome2;2
Nome3;3
Nome4;4
Nome5;5
[code]public void loadTextFile()
{
String filePath = “aaaa.txt”;
try {
BufferedReader in = new BufferedReader(new FileReader(filePath));
String str;
while ((str = in.readLine()) != null) {
String data[] = str.split(";");
System.out.println("Nome: " + data[0] + " Numero:" + data[1]);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Erro ao ler arquivo de texto " + e.toString());
}
}[/code]
Mas recebo “Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 1”
Alguem consegue achar algum erro ai?
voce esta esquecendo de fechar o conchete na linha 11
System.out.println("Nome: " + data[0] + " Numero:" + data[1]);
Hyzek
Junho 29, 2012, 11:10am
#3
[quote=klebson lou]voce esta esquecendo de fechar o conchete na linha 11
System.out.println("Nome: " + data[0] + " Numero:" + data[1]);
[/quote]
Ah sim, no meu código eu havia fechado o colchete. Na hora de postar aqui que eu apaguei sem querer…
Alguem consegue ver algum erro alem disso?
eu executei o codigo e nao deu nenhum erro.
a saida foi
Nome: Nome1 Numero:1
Nome: Nome2 Numero:2
Nome: Nome3 Numero:3
Nome: Nome4 Numero:4
Nome: Nome5 Numero:5
Hyzek
Junho 29, 2012, 11:38am
#5
Estranho, não sei pq aqui ta lançando essa exception…
Se o arquivo que você estiver lendo tiver uma linha vazia, então o split vai retornar um array de um elemento apenas, com uma string vazia.
Portanto, vai dar o tal problema.
É melhor sempre testar se a dimensão do array retornado por split é exatamente 2 em vez de sair supondo que as linhas são todas iguaizinhas e bonitinhas.