Manipulação de arquivo txt

Pessoal, sou iniciante em java e estou começando a manipular arquivo txt.

Tenho algumas dúvidas

  1. Como faço para cadastrar código, nome e telefone em um arquivo “cadnome.txt”
  2. Porém antes de gravar no arquivo, devo verificar se existe no cadnome.txt.

Não tenho idéia de como começar fazer, tenho tutorial de manipulação de arquivo, mais estou com dificuldade para entender manipular arquivo txt, se alguém poder me ajudar ou da algumas dicas, eu agradeço desde já.

Arquivo .txt não deve ser usado como banco de dados, justamente porque não dá para modificar ou deletar registros.
Para usar como um “banco de dados” quebra-galho você teria de ler o arquivo .txt inteirinho na memória, fazer o que você precisa fazer, e então gravar o arquivo inteirinho de volta, o que é muito chato e lento.
Use um banco de dados de verdade; reserve arquivos .txt para:

  • Leitura de configurações;
  • Relatórios.

Caso voce esteja querendo exportar os dados de um aplicaçao, o melhor é usar mesmo um txt, dependendo da sua necessidade. Caso voce esteja tentando apenas guardar os dados de uma aplicaçao, eu estou com o nosso amigo Thingol. Utilize um BD.
Manda o tutorial ai pra mim e as suas duvidas pra eu ver se posso te ajudar.

Outra dúvida em manipular arquivo

  1. Tem como pelo menos consultar no arquivo se existe um registro antes de gravar no arquivo, exemplo

0001 Sergio 6565-6565

Se existir esse dados não devo gravar

Não diretamente, arquivos não tratam indices e voce nao teria como comparar. Voce teria que criar um metodo que pegasse uma parte desta string e comparesse com a string que voce quer inserir

Respondendo a sua primeira pergunta:

[code]
public class Application1 {
public static void main(String[] args) throws IOException {

    File file = new File("c:/cadnome.txt");
    
    if (!file.exists()) {        
        file.createNewFile();
    }
    FileWriter fw = new FileWriter(file);
    fw.write("Codigo;Nome;Telefone\n");
    fw.write("01;Cap.Nascimento;21111111");  
    fw.close();
}

}[/code]
Cria um arquivo com valores separados por ponto-e-vírgula (*.csv)

Agora quanto a sua segunda dúvida, ter como consultar tem sim, você lê TODO o arquivo para saber se há uma ocorrência desse registro, por isso o thingol falou que não é bom utilizar arquivos como repositórios de dados, fica mais difícil o controle dos registros! Mas vale como aprendizado!!!

Pessoal obridado pelas dicas, acabei de receber um material para estudo de uma amiga, vou devorar Minipulação de arquivo.txt em Java nesse feriado, conforme for vindo as duvidas eu atualizo esse tópico.

Agradeço pelas dicas.

em relação a esse artigo de manipulação de arquivos…eu estou com dificuldade em armazenar novos valores em um aruivo txt!!
comecei a estudar na faculdade sobre manipulação de arquivos ai o meu programa le, lista tdo certinhu…mais na hora de cadastrar ele naum cadastra novo valor…
alguem tm alguma idéia…
obrigado

[code]import java.io.*;
public class Duv {

public static void main(String[] args) {
	File f = new File("diret.txt");
	try{			
		
		
		FileWriter fw = new FileWriter(f,true);
			fw.write("\naprendendo \njava");								
			fw.flush();
			fw.close();
	}catch(Exception e){e.printStackTrace();}
}

}
[/code]

permite vc adicionar novos dados sem apagar os exisites de um arquivo:

FileWriter fw = new FileWriter(f,true);

flw!