Dificuldades em renomear arquivos

2 respostas
J

File arquivo = new File ("C:/temp/Cliente.txt"); File arq = new File ("C:/tem/clienteaux.txt"); Thread.sleep(2000); arquivo.delete(); JOptionPane.showMessageDialog(this, "Cliente Excluido com Sucesso!"); Thread.sleep(2000); arq.renameTo(new File("C:/temp/Cliente.txt"));

alguém pode me ajudar … como eu faria para renomear o arquivo novamente???

2 Respostas

d34d_d3v1l

Nossa…

você sinceramente precisa gravar cada cliente em um arquivo diferente?

Existem soluções mais elegantes:
Random Acess File
Serialização de Objetos

abraços

J

kra e assim!!!

eu to tentando excluir um arquivo, isso faz parte de um projeto da faculdade,

eu tenho de excluir o arquivo em c... e ate ai tudo bem ....

passo a passo:

1º em java passo o cpf do cliente em argumento para o programa em c descrito abaixo;

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

main(int argc, char *argv[])
{	

    FILE  *arquivo, *arq;
   char* cpf = NULL, *arq1 = "C:/temp/Clienteaux.txt", *arq2 = "C:/temp/Cliente.txt";
    char linha[500], linhabkp[500];
    
    // verifica se o cpf ta vindo pela linha de comando, se nao tiver, sai
    if(argc < 2)
        exit(1);    
    if((arq = fopen("C:/temp/Clienteaux.txt","w+")) == NULL)
       exit(1); 
    if((arquivo = fopen("C:/temp/Cliente.txt","rt")) == NULL)
       exit(1);
       
	rewind(arquivo);
	
	printf("cpf para excluir: %s\n", argv[1]);
	
	// le uma linha completa
	while(fgets(linha, sizeof(linha), arquivo) != NULL)
    {
        memcpy(linhabkp, linha, sizeof(linhabkp)); // faz o backup da linha em otra variavel pra nao perder ela
        cpf = strtok(linha, ";"); // retorna a string ate o proximo ";" que ele achar... ou seja o cpf        
        if(strcmp(cpf, argv[1]) != 0) // compara o cpf da linha com o cpf que vc quer excluir
        {
            fputs(linhabkp, arq); //escreve a copia que nao foi modificada
        }
    }	
    fclose(arquivo); 
    fclose(arq);
    
    remove(arq1);
    rename("Clienteaux.txt", "Cliente.txt");


}
e depois q chamo ele ... chamo java com o codigo abaixo:
if (objetoRecebeuEvento == Excluir) {

            try {
                ccpf = rCPF.getText();
                ConsultaCliente.ocpf = ccpf;
                Runtime.getRuntime().exec("c:/temp/Consulta_cliente.exe " + ccpf);
                Thread.sleep(1000);
                parsercpf = new ParserXMLcomCPF("c:/temp/aprovado.xml");
                Thread.sleep(1000);
                
                if (ParserXMLcomCPF.retorno == 1)
                {
                    Thread.sleep(1000);
                    Runtime.getRuntime().exec("c:/temp/Exclui_cliente.exe " + ccpf);
                    File arquivo = new File ("C:/temp/Cliente.txt");
                    File arq = new File ("C:/tem/clienteaux.txt");
                    Thread.sleep(2000);
                    arquivo.delete();
                    JOptionPane.showMessageDialog(this, "Cliente Excluido com Sucesso!");
                    Thread.sleep(2000);
                    arq.renameTo(new File("C:/temp/Cliente.txt"));
                }
                else
                {
                    JOptionPane.showMessageDialog(this, "Cliente não Cadastrado ou  excluido");
                }

            } catch (Exception ex) {
                Logger.getLogger(ConsultaCliente.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
Criado 5 de junho de 2011
Ultima resposta 5 de jun. de 2011
Respostas 2
Participantes 2