Como alterar e excluir em um arquivo?

Ola pessual

Tenho um trabalho da faculdade para implementar em java um programa que usa arquivo. Tenho q entregar Quinta-feira (10/04/2008)

E um programa simples q cadastra nome, cidade, email, telefone… essas coisas. Fiz certim o Gravar (escrita em arquivo) e pesquisar(leitura).
O professor quer tb alem de gravar e pesquisar, Altera, e excluir.

Como posso fazer isso em um arquivo em java.? JA tive dando uma olhada por ai e descobri q :

p/ alterar eu tenho q deletar o registro q quero alterar e gravar ele de novo;
p/ excluir (1) tenho q usar dois arquivos, (2)passar todos os registros para o segundo arquivo menos o q se deseja excluir; (3) sobrescrever o arquivo 1 criando um novo arquivo 1 (4) por ultimo passar os registros do arquivo 2 para o arquivo 1

estou usando a classe File (FileWrite, FileRead)

Existe uma maneira melhor de fazer isso?

tem algum exemplo parecido na web para baixar ?

Aguardo respostas o mais rapido possivel se puderem.

Obrigado

Primeiro: tire o urgente do título do seu tópico. A dúvida das outras pessoas também são urgentes mas elas não precisam implorar ou serem sem educação.
Segundo: você pode trabalhar com banco de dados? Se puder, vai salvar sua vida de uma maneira única, aí você mesmo pode fazer a busca. Se não, vai ter que fazer o esquema de copiar todos os registros sem o que você quer e sobrescrever os arquivos.

Até!

já ouviu falar do jdom?

tem que ser usando o File (FileWrite, FileRead) ?

o jdom trabalha com xml. Acho que é o mais recomendavel.
fácil de usar.

<id=“1” nome=“nomedocarinha” email="adsdf@sdf.com" tel=“345”>
<id=“2” nome=“nomedocarinha” email="adsdf@sdf.com" tel=“345”>
<id=“3” nome=“nomedocarinha” email="adsdf@sdf.com" tel=“345”>

é só adicionar o jar no seu programa.

se tiver usando o netbeans, ele já mostra as funções e metodos e como funciona o pacote JDOM

Eu tenho q usar aquivo.

Não importa a maneira de como fazer isso, mas tenho q GRAVAR, ALTERAR, EXCLUIR E PESQUISAR

sendo q minha duvida esta em como alterar e excluir.

Ainda não ouvir falar sobre o Jdom, mas se puder resolver meu problema…

xml é um arquivo

com o jdom vc pode fazer:
GRAVAR, ALTERAR, EXCLUIR E PESQUISAR

Vlw luiz

vou da uma pesquisada em como usar esse Jdom

se souber de algum exemplo usando Jdom com alterar, alterar pesquisar
eu agradeço.

http://www.google.com.br/search?hl=pt-BR&q=Jdom+excluir&btnG=Pesquisar&meta=

http://www.guj.com.br/posts/list/489.java

O problema de trabalhar com arquivos é que você vai ter que reescrever os arquivos toda vez que alterar algo. Mas se você acha que essa é a melhor alternativa, boa sorte. JDOM é uma boa mas trabalhar com SAX também é. Qual é a diferença entre os dois? Um constrói a árvore nodo por nodo e o outro constrói linha por linha. Qual é melhor? Depende. No seu caso, seria mais efetivo o SAX, pois os seus registros não parecem que vão ser muito complexos, mas o JDOM ( ou qualquer outro que implemente DOM parser ) pode funcionar também.

Artigo para se ler sobre as avaliações sobre XML -> http://www.informit.com/articles/article.aspx?p=27006&seqNum=7

Até!

Olá pessoal

Estou com problema para alterar o nome do arquivo, se direciono o arquico para a pasta ex: C:\teste"arquivo" ele efetua as alterações de nome, porém se direciono para a C:\Arquivos de programas\Common Files\Borland Shared\BDE\“arquivo” não ocorre absolutamente nada.
Por favor alguem sabe como devo proceder?

Este é o código

String caminho = “C:\Arquivos de programas\Common Files\Borland Shared\BDE”;
StringBuilder sb = new StringBuilder();

    File raiz = new File(caminho);

    for (File f : raiz.listFiles()) {
        if (f.isFile()) {
            System.out.println(f.getName());
            sb.append(f.getName());
            sb.append("\n");

            if ((f.getName()).equals("IDAPI32_ESTACIONAMENTO.CFG")) {

                JOptionPane.showMessageDialog(null, "Não precisa ser alterado");

            } else if ((f.getName()).equals("IDAPI32_ADM.CFG")) {

                File arquivo_1 = new File("C:\\Arquivos de programas\\Common Files\\Borland Shared\\BDE\\IDAPI32.CFG");

                // Arquivo ou diretório com novo nome
                File ArquivoRenomeadoEstacionemento = new File("C:\\Arquivos de programas\\Common Files\\Borland Shared\\BDE\\IDAPI32_ESTACIONAMENTO.CFG");

                // Renomeando arquivo ou diretório
                File arquivo_2 = new File("C:\\Arquivos de programas\\Common Files\\Borland Shared\\BDE\\IDAPI32_ADM.CFG");

                // Arquivo ou diretório com novo nome
                File ArquivoRenomeadoADM = new File("C:\\Arquivos de programas\\Common Files\\Borland Shared\\BDE\\IDAPI32.CFG");

                boolean success = arquivo_1.renameTo(ArquivoRenomeadoEstacionemento) & arquivo_2.renameTo(ArquivoRenomeadoADM);
                try {
                    Process p = Runtime.getRuntime().exec("C:\\Foracesso\\Foracesso.exe");
                    if (p.exitValue() == 0) {
                        
                    }
                } catch (Exception e) {

                }