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/

Responder a