Exceção ao escrever em arquivo texto

10 respostas
S

Aguem pode me ajudar?

File dir = new File("C:\\teste\\teste");
                        dir.mkdir();


                        File teste1 = new File(dir, "claro" + lista.get(y) + ".txt");

  try {



                            BufferedWriter escrever = new BufferedWriter(new FileWriter(teste1));
                            escrever.write("//////////////////////////////////////" + teste.get(1) + "////////////////////////////////// \n"
                                    + "\n"
                                    + "\n"

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at testeexcel.novo.jButton1ActionPerformed(novo.java:250)

10 Respostas

Eric_Yuzo

O erro diz que está tentando acessar um índice que não existe (índice 1 em uma lista com tamanho 1). Imagino que seja aqui:

teste.get(1)Se a intenção é pegar o primeiro item da lista use teste.get(0).

S

Pior que existe mais de 1 valor nessa lista

Eric_Yuzo

Tem que ver se é esta lista mesmo que está lançando a exceção. Esta linha do teste.get(1) é a linha 250?

Roda o debug, ou então joga teste.size() no sysout mesmo, pra ver se ela está realmente recebendo mais de um item.

S

testei tirando a lista conforme abaixo:
creio que seja no BufferedWriter

BufferedWriter escrever = new BufferedWriter(new FileWriter(teste1));
                            escrever.write("//////////////////////////////////////////////////////////////////////// \n"
                                    + "\n"
                                    + "\n"

java.lang.IndexOutOfBoundsException: Index: 17, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at testeexcel.novo.jButton1ActionPerformed(novo.java:250)
at testeexcel.novo.access$000(novo.java:39)

Eric_Yuzo

Mas esta é a linha 250?

S

Positivo, na mesma linha.

Eric_Yuzo

Estranho, a parte do write não parece estar errada.

Eu pensei que poderia ser o lista.get(y), na criação do File:

File teste1 = new File(dir, "claro" + lista.get(y) + ".txt");A exceção aparentemente está sendo lançada pelo ArrayList. Mas se a linha que o erro aponta é a do write, sinceramente não sei o que pode ser.

S

tentei criar o nome sem essa lista e da o mesmo erro

Eric_Yuzo

Roda o programa em modo debug. Pare a execução na linha que está acusando o erro e veja o estado da lista.

S

Consegui resovler o problema, estava no corpo do texto a ser inserido, por isso dava erro no parametro escrever.

Criado 16 de janeiro de 2011
Ultima resposta 18 de jan. de 2011
Respostas 10
Participantes 2