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;
[code]#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");
}[/code]
e depois q chamo ele … chamo java com o codigo abaixo:
[code]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 já excluido");
}
} catch (Exception ex) {
Logger.getLogger(ConsultaCliente.class.getName()).log(Level.SEVERE, null, ex);
}
}[/code]