Bruno, obrigado pelo sua resposta. � um bocado de c�digo para ler as linhas de um
arquivo texto
mas, tudo bem, funcionou quando compilei com o jdk1.2 do windows.
Desculpem se insisto em usar o java juntamente com o linux,
por�m quando tentei usar o java no linux que veio na revista PC Master (jdk1.1.7)
obtive a
seguinte mensagem (devo acrescentar que ele est� compilando normalmente v�rios outros
programas,
de forma que, aparentemente, est� instalado corretamente) :
filetest.java:30: Method parseFloat(java.lang.String) not found in class
java.lang.Float.
f = Float.parseFloat(st.nextToken());
^
1 error
Pelo visto n�o existe esse m�todo nessa vers�o, dei uma olhada na documenta��o que
veio com ele
e o mais perto que encontrei foi valueOf(String), mas tamb�m n�o deu certo. Substitui o
parseFloat por valueOf e obtive a mensagem de erro:
filetest.java:31: Incompatible type for =. Can't convert java.lang.Float to float.
f = Float.valueOf(st.nextToken());
^
Se voc� ou algu�m tiver mais alguma sugest�o, agrade�o. Se n�o vou continuar no
windows mesmo.
at�,
Jo�o Medeiros
"Bruno Souza (Sun Microsystems)" wrote:
> Pessoal,
>
> Desculpem, mas essa minha reposta esta errada. Na verdade, voce pode
> utilizar os metodos listados, mas apenas em streams (ou arquivos)
> gravados da mesma forma (com as classes DataOutputStream ou RandomAccessFile).
> Essas classes gravam e leem um formato binario, e nao texto.
>
> Estou anexando um programa que le o arquivo do tipo indicado, e
> imprime os resultados lidos na tela. Nesse exemplo eu estou utilizando
> java.util.StringTokenizer, mas seria possivel utilizar um
> StreamTokenizer com basicamente os mesmos resultados.
>
> Observe que o problema dessa leitura eh obviamente a conversao de
> String para int e/ou float, que em Java eh importante capturar os
> eventuais erros ocorridos.
>
> Desculpem a confusao....
>
> import java.io.*;
> import java.util.*;
>
> public class filetest {
>
> public static void main(String args[]) {
>
> BufferedReader b=null;
>
> try {
> b = new BufferedReader(new FileReader("teste.txt"));
> } catch (IOException ioe) {
> System.out.println("Nao foi possivel ler o arquivo.");
> System.exit(1);
> }
>
> try {
> String d=null;
> int i=0;
> float f=0;
>
> String line;
> while ((line = b.readLine()) != null) {
>
> StringTokenizer st = new StringTokenizer(line);
>
> try {
> d = st.nextToken();
> f = Float.parseFloat(st.nextToken());
> i = Integer.parseInt(st.nextToken());
> System.out.println("Data:"+d+" i:"+i+" f:"+f);
> } catch (NumberFormatException nfe) {
> System.out.println("Numero invalido.");
> }
>
> }
> } catch (IOException ioe2) {
> System.out.println("Erro na leitura do arquivo.");
> }
> }
> }
>
> Arquivo teste.txt
>
> 01/11/1999 12.34 123
> 2/2/2000 7788.4 123456
>
> "Bruno Souza (Sun Microsystems)" wrote:
> >
> > Sim, voce pode utilizar tanto a classe RandomAccessFile ou a classe
> > DataInputStream. Ambas possuem metodos readUTF, readFloat e readInt
> > que farao o que voce deseja.
> >
> > FileInputStream f = new FileInputStream("nomedoarquivo");
> > DataInputStream dis = new DataInputStream(f);
> >
> > String d = dis.readUTF();
> > float f = dis.readFloat();
> > int i = dis.readInt();
> >
> > []s,
> >
> > Bruno.
> >
> > Jo�o Medeiros wrote:
> > >
> > > ol� pessoal,
> > > estou escrevendo um programa em java e ele precisa ler dados que est�o
> > > gravados em arquivos textos da seguinte forma
> > >
> > > Data valor float valor int
> > > 01/11/1999 12.00 1234
> > >
> > > Em c eu escreveria apenas uma linha de c�digo para ler a segunda linha
> > > acima:
> > >
> > > scanf("%s %f %d\n",data, &valor1, &valor2);
> > >
> > > onde as vari�veis data, valor1 e valor2 est�o definidas como:
> > >
> > > char data[11];
> > > float valor1;
> > > int valor 2;
> > >
> > > existe alguma coisa equivalente em java?
> > >
> > > grato por qualquer ajuda.
> > >
> > > Jo�o Medeiros
> > >
> > > * Para n�o receber mais e-mails desta lista envie um e-mail para
>[[EMAIL PROTECTED]]
> > > e no corpo do email escreva [unsubscribe <seu-email>]
> > > Veja as mensagens antigas em http://www.mail-archive.com/javabr%40cits.br/
> >
> > --
> >
> > Bruno.
> > ______________________________________________________________________
> > Bruno Peres Ferreira de Souza Sun Microsystems
> > System Engineer - Java Technologist [EMAIL PROTECTED]
> > if I fail, if I succeed, at least I live as I believe
> > * Para n�o receber mais e-mails desta lista envie um e-mail para
>[[EMAIL PROTECTED]]
> > e no corpo do email escreva [unsubscribe <seu-email>]
> > Veja as mensagens antigas em http://www.mail-archive.com/javabr%40cits.br/
>
> --
>
> Bruno.
> ______________________________________________________________________
> Bruno Peres Ferreira de Souza Sun Microsystems
> System Engineer - Java Technologist [EMAIL PROTECTED]
> if I fail, if I succeed, at least I live as I believe
* Para n�o receber mais e-mails desta lista envie um e-mail para
[[EMAIL PROTECTED]]
e no corpo do email escreva [unsubscribe <seu-email>]
Veja as mensagens antigas em http://www.mail-archive.com/javabr%40cits.br/