StringTonizer

6 respostas
A

oi Pessoal.

Preciso fazer um projeto, onde devo ler de um arquivo (entrada.txt) e também mostar as saidas (saida.txt).

Estou tentando utilizar está linha de codigo, mas não sei como a classe StringTokenizer vai receber como parametro a linha que está sendo lida no momento.

Agradeço quem puder me ajudar.

package Main;

import java.util.<em>;

import <a href="http://java.io">java.io</a>.</em>;

public class Teste {

public Teste() {		
}

public static void main (String[]args) throws IOException{
	
	File file = new File ("c:/entrada.txt");
	
	boolean resposta1 = file.exists();
	boolean resposta2 = file.isFile();

	
FileReader reader = new FileReader(file);
BufferedReader leitor = new BufferedReader(reader);
	
	System.out.println (resposta1);
	System.out.println (resposta2);
	
	reader.close();
	leitor.close();		
}

StringTokenizer token = new StringTokenizer(leitor) (erro neste parametro);

String valor = token.nextToken();

}

6 Respostas

I

Vejo três problemas aí:

[list]

  • “leitor” está declarado no construtor e não tem visibilidade fora dele;
  • O StringTokenizer está declarado no corpo da classe sem ver leitor;
  • A leitura dos valores do tokenozer está incorreta (no corpo e não em método)
    [/list]

Acho bom pegar um tutorial sobre Java.

T+

A

Meu construtor é vazio. Leitor foi instanciado dentro do metodo main. Coloquei o metodos token fora apenas para alquem ver quais metodos quero utilizar.

Minha dúvida é como faço para ler um arquivo de texto que está salvo em c:/ e mostar uma saida também de txt.

I

Hum… beleza. Acho que não observei direito. Acho que seria algo como:

private void exec&#40;final File file&#41; &#123;
    BufferedReader reader = null;
    try &#123;
        reader = new BufferedReader&#40;new FileReader&#40;file&#41;&#41;;
        String aLine;
        while &#40;&#40;aLine = reader.readLine&#40;&#41;&#41; != null&#41; &#123;
            System.out.println&#40;aLine&#41;;
        &#125;
    &#125; catch &#40;Exception e&#41; &#123; 
        throw e; 
    &#125; finally &#123; 
        if &#40;reader != null&#41; &#123;reader.close&#40;&#41;;&#125; 
    &#125; 
&#125;

Seria isto? Espero que ajude, T+

A

Não seria necessário o obejto reader ser pasado como paramentro na chamado do construtor da classe bufferedReader.

O objeto reader está chamando o mentodo readLine que é da classe BufferedReader.

I

Criando um FileReader é só passar a ele o endereço ou a referência ao File do arquivo já é suficiente. Se o arquivo for grande, então podes passar o FileReader para um BuffedReader. De fato o FileReader não tem um método readLine. Está ajustado no post anterior. Mas de qualquer forma fica a teu critério. T+

A

Valeu, muito obrigado por tudo.

Criado 13 de dezembro de 2006
Ultima resposta 15 de dez. de 2006
Respostas 6
Participantes 2