Pessoal, estou com uma grande dificuldade,
tenho um aquivo tipo txt com por exemplo 5 lihas
1
2
3
4
5
Eu consigo fazer o programa ler esse aquivo, porem nao consigo
manipular ele para fazer funções com ele.
como faço para fazer essa manipulação??? por exemplo pegar o numero da primeira linha e multiplicar pelo da quinta linha !
Vc pode usar FileReader() e Split para manupular os dados do TXT.
Tenta e qualquer coisa posta ae!
fesaab
Voce pode usar também a classe RandomAccessFile.
luiz.kava
Kara eu to trabalhando, mas consegui programar o codigo abaixo, com ele estou conseguindo ler linha por linha...
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;publicclassLeituraArquivo{/** * @param args */publicstaticvoidmain(String[]args){FileReaderfre=null;try{// Cria uma representação do seu arquivo com FileFilef=newFile("c:/conexao.conf");// Abre o arquivo para leiturafre=newFileReader(f);// Transforma o leitor para que leia linha a linhaBufferedReaderbre=newBufferedReader(fre);Stringlinha=null;// Laço infinito que le o arquivofor(;;){linha=bre.readLine();// Se linha retornada for nula, chegou ao fim do arquivoif(linha==null)break;// A linha está ok.System.out.println(linha);}}catch(IOExceptione){thrownewRuntimeException("Erro geral ao abrir arquivo",e);}finally{// Fechar o arquivo independentemente do erroif(fre!=null){try{fre.close();}catch(IOExceptione){/* ignorado */}}}}}
Agora minha dificuldade está em manipular mais o aquivo (c:/conexao.conf)
ele serve como uma entrada de dados dessa forma.
1 3 (na primeira linha eu tenho dois dados separados por um espaço, eu preciso utilizar os dois separadamente)
22 (na segunda linha preciso pegar esse inteiro mesmo)
1 2 3 1 (na terceira linha preciso ler cada numero separado por espacos, da mesma forma que fiz na primeira linha)
se puderem me ajudar agradeço.
att.
luiz.kava
pvrsouza:
Vc pode usar FileReader() e Split para manupular os dados do TXT.
Tenta e qualquer coisa posta ae!
Kara eu to trabalhando, mas consegui programar o codigo abaixo, com ele estou conseguindo ler linha por linha...
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;publicclassLeituraArquivo{/** * @param args */publicstaticvoidmain(String[]args){FileReaderfre=null;try{// Cria uma representação do seu arquivo com FileFilef=newFile("c:/conexao.conf");// Abre o arquivo para leiturafre=newFileReader(f);// Transforma o leitor para que leia linha a linhaBufferedReaderbre=newBufferedReader(fre);Stringlinha=null;// Laço infinito que le o arquivofor(;;){linha=bre.readLine();// Se linha retornada for nula, chegou ao fim do arquivoif(linha==null)break;// A linha está ok.System.out.println(linha);}}catch(IOExceptione){thrownewRuntimeException("Erro geral ao abrir arquivo",e);}finally{// Fechar o arquivo independentemente do erroif(fre!=null){try{fre.close();}catch(IOExceptione){/* ignorado */}}}}}
Agora minha dificuldade está em manipular mais o aquivo (c:/conexao.conf)
ele serve como uma entrada de dados dessa forma.
1 3 (na primeira linha eu tenho dois dados separados por um espaço, eu preciso utilizar os dois separadamente)
22 (na segunda linha preciso pegar esse inteiro mesmo)
1 2 3 1 (na terceira linha preciso ler cada numero separado por espacos, da mesma forma que fiz na primeira linha)
se puderem me ajudar agradeço.
att.
luiz.kava
???
ralphsilver
Você pode usar o split…
exemplo
String[]s=linha.split(" ")
o split separa a string e manda os resultados em um vetor, sendo separados pelo caractere que vc especificar…
daí pra somar vc transforma para inteiro:
int soma = 0;
for(String dcNumero:s){
soma += new Integer(dcNumero);
}
ralphsilver
Bom,
ehehehe acabei exagerando pois eu não sei se vc precisa de uma soma… mas caso não precise… já tem o vetor no primeiro código com os dados…
luiz.kava
ralphsilver:
Bom,
ehehehe acabei exagerando pois eu não sei se vc precisa de uma soma… mas caso não precise… já tem o vetor no primeiro código com os dados…
Isso mesmo meu brother…deu certo aqui dessa forma…
vlw …