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