Não conheço esta biblioteca, mas pelo tipo de erro parece que é uma versão de arquivo excel que não é reconhecida pela biblioteca.
Att.
G
gabrielmelo
Ok. Para facilitar o trabalho eu exportei para txt o arquivo xls. Aí comecei a dar conta de resolver o que eu quero. É mais ou menos assim. Tenho um arquivo txt com vaaaaaaaaarios nomes em ordem, separados com (";") no final de cada nome. No while dou um split(";") para pegar cada nome desse arquivo e jogar num List, mas não estou conseguindo, o código só coloca o primeiro nome e não coloca o resto.
Eis o código:
packagebr.com.teste;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassSorteioTXT{publicstaticvoidmain(String[]argv){try{BufferedReaderreader=newBufferedReader(newFileReader(newFile("/Gabriel/Projetos/sorteio/NOME.txt")));String[]dados;Stringlinha=null;intcont=0;while(reader.ready()){linha=reader.readLine();dados=linha.split(";");List<String>lista=newArrayList<String>();lista.add(dados[cont]);}reader.close();}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}catch(NullPointerExceptione){System.out.println("###### Fim do Arquivo ######");}}publicstaticvoidGravar(Stringtexto){Stringconteudo=texto;try{// o true significa q o arquivo será constante BufferedWriterbw=newBufferedWriter(newFileWriter("arquivoNomes.txt",true));bw.write(conteudo);bw.newLine();bw.flush();bw.close();}// em caso de erro apresenta mensagem abaixo catch(IOExceptione){System.out.println("Erro");}}}
o arquivo NOME.txt é mais ou menos assim:
ADELMAN DE BARROS VILLA JÚNIOR;
ADEMAR PASSOS VEIGA;
ADEMAR YOSHIAKI HUZIROKA;
ADRIANA DE LIMA BANDEIRA;
ADRIANA DE LUCA CARVALHO;
ADRIANA DE SABOYA GOLDBERG;
ADRIANA KEHDI;
ADRIANA MINIATI CHAVES;
ADRIANA NOGUEIRA TIGRE COUTINHO;
ADRIANA QUEIROZ DE CARVALHO;
ADRIANA ZANDONADE;
ADRIANE DOS SANTOS;
ADRIANO FALCÃO NERI;
ADRIANO MARES TAROUCO;
ADRIANO MARTINS PORTELINHA;
ADRIENNE GIANNETTI NELSON DE SENNA JOBIM;
ADSON AZEVEDO MATOS;
AFFONSO NEVES BAPTISTA NETO;
AFONSO AUGUSTO RIBEIRO COSTA;
OBS: Se eu conseguir carregar essa lista com os nomes vindo do arquivo ordenado, vou dar um Collections.suffle() para em baralhar esses nomes em ordem aleatória e grava de volta num arquivo txt.
Se alguém puder apontar esse meu erro, fico grato.
[]'s
A
Adelar
Olá,
você está lendo errado o arquivo. A seguir é mostrado um exemplo de leitura:
importjava.io.*;publicclassEstudos{publicstaticvoidmain(String[]args){try{BufferedReaderin=newBufferedReader(newFileReader("conteudo.txt"));Stringstr;while((str=in.readLine())!=null){System.out.println(str);}in.close();}catch(IOExceptione){// possiveis erros são tratatos aqui}System.exit(0);}}
Assim apague a linha 24 e troque a 23 por:
while((linha=reader.readLine())!=null){
Mude o código da linha 26 para a linha 22, pois da forma que está toda vez vai iniciar um nova lista.
Att.
I
igor_jua
Amigo,vc abriu o arquvo xls fez pá vc queria dele porém não o fechou.
Lembre-se que para o jxl todo arquivo aberto deve ser fechado!
Portanto faca:
wb.close
sempre no final de seus métodos que utilizam a biblioteca.
G
gabrielmelo
Obrigado pessoal do guj pelo help. Finalizei o algoritimo que eu pretendi fazer.
É o seguinte: recebo um arquivo txt com varios nomes em ordem com separado com (";"). Faço a leitura de cada linha e armazeno numa lista. Com a lista carregada, embaralho a lista com o Collections.suffle() e mando gravar essa lista em outro arquivo txt.
Eis o código:
packagebr.com.teste;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassSorteioTXT{publicstaticvoidmain(String[]argv){try{//Le o arquivoBufferedReaderreader=newBufferedReader(newFileReader(newFile("/Gabriel/Projetos/sorteio/NOME.txt")));String[]dados;Stringlinha=null;intcont=0;inti=1;List<String>lista=newArrayList<String>();//Percorre a o arquivowhile((linha=reader.readLine())!=null){//Armazena cada linha do arquivo no array.dados=linha.split(";");lista.add(dados[cont]);}reader.close();//Embaralha a listaCollections.shuffle(lista);for(intx=0;x<lista.size();x++){//A cada 80 nomes, imprimir linhaif(x%80==0&&x!=0){gravar("==================================================================================================");}gravar(i+++" - "+lista.get(x));}}catch(FileNotFoundExceptione){e.printStackTrace();System.out.println("Arquivo não encontrado!");}catch(IOExceptione){e.printStackTrace();}catch(NullPointerExceptione){System.out.println();System.out.println("Fim do Arquivo");}}publicstaticvoidgravar(Stringtexto){Stringconteudo=texto;try{// o true significa q o arquivo será constante BufferedWriterbw=newBufferedWriter(newFileWriter("arquivoNomes.txt",true));bw.write(conteudo);bw.newLine();bw.flush();bw.close();}// em caso de erro apresenta mensagem abaixo catch(IOExceptione){System.out.println("Erro na gravação do arquivo");}}}