Gravar e Ler num Arquivo .txt

5 respostas
A

Galera,

To com umas duvidas, eu tenho um codigo que importa o java.io

para gravar e ler num arquivo .txt,

import java.io.*;
public class newfile {

public static String Total1;
public static void main(String[] args) throws IOException {

	FileWriter escreve = new FileWriter(new File("c:\\banco.txt"),true);
	FileReader ler = new FileReader("c:\\banco.txt");
	PrintWriter banco = new PrintWriter(escreve,true);
	BufferedReader leitor = new BufferedReader(ler);
	
	banco.println("Primeira Linha");
	banco.println("Segunda Linha");
	banco.println("Terceira Linha");
	

	banco.close();
	
	escreve.close();
			
	
   
    System.out.println(leitor.readLine());
    System.out.println(leitor.readLine());
    System.out.println(leitor.readLine());
    	 
    leitor.close();
    ler.close();	
			
}

}

Gostaria de saber se tem como o meu programa criar automaticamente um arquivo .txt no meu disco e como eu faço para manipular esse arquivo tipo fazer consulta multiplas dentro de um laço???

Grato

Att Atrevido
Programador Trainee…

5 Respostas

V

Sim. No seu código você deveria abrir o arquivo para leitura (criar um FileReader) apenas depois de fechá-lo para escrita.

Sugestão: antes de usar escreve.close(); coloque escreve.flush(); para descarregar o buffer.

Não entendi sua pergunta. Poderia me explicar com outras palavras? O que seriam consultas múltiplas num laço?

A

Por exemplo se eu cadastra 5 nomes , depois eu entro com um novo nome e faço uma pesquiza se esse novo nome existe nesse arquivo, como se fosse uma consulta a um banco de dados , precisaria de estar dentro de um laço Tipo for, while etc… entendeu???

Grato

V

Certo.

Para fazer consultas, basta percorrer o arquivo lendo, linha por linha, com o médodo readLine da classe FileReader. Mas se você quiser usar arquivos para guardar dados como um BD sugiro usar XML usando XStream, por exemplo…

F

nesse caso nao precisa do flush(), pq ao criar a instancia, ele usou o construtor de printWriter q passa um parametro (no caso passou true) de “flushar” automaticamente, dai n precisa por o flush()…

A

Valeu galera pela força…

Criado 7 de dezembro de 2004
Ultima resposta 8 de dez. de 2004
Respostas 5
Participantes 3