Olá pessoal!
Olhem meu programa de cadastro de clientes em java:
vejam o código:
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro{publicstaticvoidmain(String[]args){Stringnome_do_arquivo,nome,endereco,cpf,rg,data_nascimento,numero_telefone,numero_celular,email;intresposta;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");FileWriterwriter=newFileWriter(newFile(nome_do_arquivo+".txt"));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);cadastro.close();}catch(IOExceptionex){ex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}resposta=JOptionPane.showConfirmDialog(null,"Você deseja criar outro cadastro?");if(resposta==JOptionPane.NO_OPTION)JOptionPane.showMessageDialog(null,"O programa será fechado...");if(resposta==JOptionPane.YES_OPTION){}else{System.exit(0);}System.exit(0);}}
O programa está rodando direitinho (a não ser que ele
não está salvando os arquivos na pasta Clientes cadastrados)
, mas como vocês podem ver ele fecha depois de cadastrar o cliente.
Eu estou querendo que ele faça uma pergunta ao usuário se ele
quer cadastrar mais outro cliente, se sim, ele roda tudo de novo
(faz um loop) e faz a pergunta novamente no final, se não, ele fecha.
Entenderam?
Olá amigo,
não mudando nada em seu raciocínio, basta colocar um do while();
//declareavariávelStringopcao;intop;do{nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");opcao=JOptionPane.showInputDialog("Cadastrar novo cliente? 1-Sim 0-Não");//Váriasmaneirasparatrataristoop=Integer.parseInt(opcao);//Converteoquevcdigitoudentrodacaixadedialogoparainteiro.}while(op==1);
mcirqueira
diegohsi:
Olá amigo,
não mudando nada em seu raciocínio, basta colocar um do while();
//declareavariávelStringopcao;intop;do{nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");opcao=JOptionPane.showInputDialog("Cadastrar novo cliente? 1-Sim 0-Não");//Váriasmaneirasparatrataristoop=Integer.parseInt(opcao);//Converteoquevcdigitoudentrodacaixadedialogoparainteiro.}while(op==1);
Obrigado!
Qualquer coisa pergunto.
D
daniel.elias.souza
E ae, mcirqueira
Outra forma de realizar esse tratamento seria:
publicstaticvoidmain(String[]args){intresposta=0;while(resposta==0){//...//...trechodoseuprograma//...//perguntaparavalidarexecuçãodoprogramaresposta=JOptionPane.showConfirmDialog(null,"Desejacriaroutrocadastro?");if(resposta==JOptionPane.OK_OPTION){JOptionPane.showMessageDialog(null,"Entrarcomosdadosnovamente...");}elseif(resposta==JOptionPane.NO_OPTION){JOptionPane.showMessageDialog(null,"Resposta:" + resposta); // ... faz alguma coisa } else if (resposta == JOptionPane.CANCEL_OPTION) { JOptionPane.showMessageDialog(null, "Resposta:" + resposta); // ... faz alguma coisa } else if (resposta == JOptionPane.DEFAULT_OPTION) { // nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogo JOptionPane.showMessageDialog(null, "Resposta:"+resposta);//...fazalgumacoisa}}//fechaSystem.exit(0);}
Qualquer dúvida, estamos a disposição.
Até mais…
mcirqueira
daniel.elias.souza:
E ae, mcirqueira
Outra forma de realizar esse tratamento seria:
publicstaticvoidmain(String[]args){intresposta=0;while(resposta==0){//...//...trechodoseuprograma//...//perguntaparavalidarexecuçãodoprogramaresposta=JOptionPane.showConfirmDialog(null,"Desejacriaroutrocadastro?");if(resposta==JOptionPane.OK_OPTION){JOptionPane.showMessageDialog(null,"Entrarcomosdadosnovamente...");}elseif(resposta==JOptionPane.NO_OPTION){JOptionPane.showMessageDialog(null,"Resposta:" + resposta); // ... faz alguma coisa } else if (resposta == JOptionPane.CANCEL_OPTION) { JOptionPane.showMessageDialog(null, "Resposta:" + resposta); // ... faz alguma coisa } else if (resposta == JOptionPane.DEFAULT_OPTION) { // nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogo JOptionPane.showMessageDialog(null, "Resposta:"+resposta);//...fazalgumacoisa}}//fechaSystem.exit(0);}
Qualquer dúvida, estamos a disposição.
Até mais…
Não entendi direito seu método, onde eu coloco para o programa rodar novamente?
D
daniel.elias.souza
A variável “resposta” é onde trataremos o retorno da escolha do usuário. Caso o usuário escolha SIM, continuaremos no loop.
Não testei, mas creio que seja isto:
publicstaticvoidmain(String[]args){intresposta=0;while(resposta==0){Stringnome_do_arquivo,nome,endereco,cpf,rg,data_nascimento,numero_telefone,numero_celular,email;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");FileWriterwriter=newFileWriter(file);PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);cadastro.close();}catch(IOExceptionex){ex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}// pergunta para validar execução do programaresposta=JOptionPane.showConfirmDialog(null,"Deseja criar outro cadastro?");if(resposta==JOptionPane.OK_OPTION){JOptionPane.showMessageDialog(null,"Entrar com os dados novamente...");}elseif(resposta==JOptionPane.NO_OPTION){JOptionPane.showMessageDialog(null,"Resposta: "+resposta);// ... faz alguma coisa}elseif(resposta==JOptionPane.CANCEL_OPTION){JOptionPane.showMessageDialog(null,"Resposta: "+resposta);// ... faz alguma coisa}elseif(resposta==JOptionPane.DEFAULT_OPTION){// nesse caso, -1 equivale a ESC ou clique no fechar da caixa de diálogoJOptionPane.showMessageDialog(null,"Resposta: "+resposta);// ... faz alguma coisa}}// fechaSystem.exit(0);}
Até mais…
ByIvo
amigo
Coloque o seu código de cadastro dentro de um
do{}while();
o ConfirmDialog apresenta uma caixinha com 3 opções: Sim, Não e Cancelar.
Se o user clicar em sim ele retorna 0, se clicar em não ele retorna 1 e se clicar em cancelar, ele retorna 2.
Então se o user clicar em sim, ele irá retornar 0, onde 0==0, então ele vai repetir.
mcirqueira
ByIvo:
amigo
Coloque o seu código de cadastro dentro de um
do{}while();
o ConfirmDialog apresenta uma caixinha com 3 opções: Sim, Não e Cancelar.
Se o user clicar em sim ele retorna 0, se clicar em não ele retorna 1 e se clicar em cancelar, ele retorna 2.
Então se o user clicar em sim, ele irá retornar 0, onde 0==0, então ele vai repetir.
Obrigado, você não postou com um código fonte, mas explicou tudo direitinho.
Obrigado.
mcirqueira
Não deu erro de compilação, mas o programa não roda.
Eu abro pelo prompt de comando e fica uma underline piscando e nada aparece.
Vejam o código
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro{publicstaticvoidmain(String[]args){do{Stringnome_do_arquivo,nome,endereco,cep,cpf,rg,data_nascimento,numero_telefone,numero_celular,email;intresposta=0;while(resposta==0);nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cep=JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");FileWriterwriter=newFileWriter(newFile(nome_do_arquivo+".txt"));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CEP: "+cep+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);cadastro.close();}catch(IOExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar "+nome);}catch(Exceptionex){ex.printStackTrace();}}while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);System.exit(0);}}
ribclauport
Bom se você observar, tem duas coisas acontecendo no seu código:
Primeiro e o mais grave, tem uma linha desta forma while(resposta==0);
este ponto e virgula depois do while está gerando um loop infinito!
Segundo, tem uma variável ae não está sendo usada para nada!
Retirei a linha do loop e a variável que estava sobrando segue abaixo o código:
packageColecoes;importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro{publicstaticvoidmain(String[]args){do{Stringnome_do_arquivo,nome,endereco,cep,cpf,rg,data_nascimento,numero_telefone,numero_celular,email;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cep=JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");FileWriterwriter=newFileWriter(newFile(nome_do_arquivo+".txt"));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CEP: "+cep+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);cadastro.close();}catch(IOExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar "+nome);}catch(Exceptionex){ex.printStackTrace();}}while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);System.exit(0);}}
ribclauport
Testei aqui e verifiquei que estava faltando alguns detales:
Não estava dando flush
Não estava fazendo a verificação de existência do arquivo para depois criá-lo se não existir
Não estava com append true para gravar no final do arquivo
Não tinha um separador para visualizar melhor os registros
Ainda falta lógico o tratamento dos dados…validações
abraço.
Segue o código:
packageColecoes;importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro{publicstaticvoidmain(String[]args){do{Stringnome_do_arquivo;Stringnome;Stringendereco;Stringcep;Stringcpf;Stringrg;Stringdata_nascimento;Stringnumero_telefone;Stringnumero_celular;Stringemail;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cep=JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");//verifica se o arquivo existeif(!file.exists()){//se não existir cria o arquivofile.createNewFile();}System.out.println("C:\\Users\\claudemir\\Desktop\\cadastro\\"+nome_do_arquivo+".txt");//cria um arquivo com append true para garantir a persistência dos dados anterioresFileWriterwriter=newFileWriter(file,true);PrintWritercadastro=newPrintWriter(writer);if(file.length()>0){cadastro.println("==============================Novo Registro======================================");}cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CEP: "+cep+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);//descarrega garantindo que a ultima entrada no buffer será gravadacadastro.flush();cadastro.close();}catch(IOExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar "+nome);}catch(Exceptionex){ex.printStackTrace();}}while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);System.exit(0);}}
Obrigado ribclauport!
Você adicionou para min algumas funções que eu queria implementar, obrigado pela mega ajuda!
Pelo, que eu entendi, eu não pretendo salvar tudo em um único arquivo, desejo salvar cada cadastro em um arquivo diferente, por isso coloquei a pergunta do nome do arquivo, para a pessoa já saber o nome do cadastro que ela criou.
mcirqueira
Á!
Entendi!
Se já tem um arquivo com um mesmo nome, ele coloca =====Novo Registro=====, aí fica o antigo e o novo cadastro num mesmo arquivo.
Valeu!
mcirqueira
Olá de novo!
Dei uma melhorada colocando o case, mais quero que depois do case 2 ele volte ao menu principal.
vejam:
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro{publicstaticvoidmain(String[]args){Stringopcao;inta;opcao=JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Sair");a=Integer.parseInt(opcao);switch(a){case1:do{Stringnome_do_arquivo;Stringnome;Stringendereco;Stringcep;Stringcpf;Stringrg;Stringdata_nascimento;Stringnumero_telefone;Stringnumero_celular;Stringemail;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cep=JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");//verifica se o arquivo existe if(!file.exists()){//se não existir cria o arquivo file.createNewFile();}System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+nome_do_arquivo+".txt");//cria um arquivo com append true para garantir a persistência dos dados anteriores FileWriterwriter=newFileWriter(file,true);PrintWritercadastro=newPrintWriter(writer);if(file.length()>0){cadastro.println("==============================Novo Registro======================================");}cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CEP: "+cep+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);//descarrega garantindo que a ultima entrada no buffer será gravada cadastro.flush();cadastro.close();}catch(IOExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar "+nome);}catch(Exceptionex){ex.printStackTrace();}}while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);break;case2:JOptionPane.showMessageDialog(null,"Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.");break;case3:System.exit(0);break;}}}
O que faço, caso a pessoa escolhe a opção 2 (case 2), retorne ao menu principal?
ribclauport
E ae ve se funciona a coisa…
qualquer coisa posta ae…
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;importjava.io.IOException;publicclassCadastro1{publicstaticvoidmenu(){Stringopcao;inta;opcao=JOptionPane.showInputDialog("O que deseja fazer?\n1 - Cadastrar um cliente\n2 - Obter ajuda\n3 - Sair");a=Integer.parseInt(opcao);switch(a){case1:cadastrar();break;case2:ajuda();menu();break;case3:System.exit(0);break;}}publicstaticvoidajuda(){JOptionPane.showMessageDialog(null,"Para cadastrar um cliente basta, no menu principal, apertar 1 e para sair aperte 3.");}publicstaticvoidcadastrar(){do{Stringnome_do_arquivo;Stringnome;Stringendereco;Stringcep;Stringcpf;Stringrg;Stringdata_nascimento;Stringnumero_telefone;Stringnumero_celular;Stringemail;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?");nome=JOptionPane.showInputDialog("Qual é o nome de seu cliente?");endereco=JOptionPane.showInputDialog("Onde seu cliente mora?");cep=JOptionPane.showInputDialog("Qual é o CEP de seu cliente?");cpf=JOptionPane.showInputDialog("Qual é o CPF de seu cliente?");rg=JOptionPane.showInputDialog("Qual é o RG de seu cliente?");data_nascimento=JOptionPane.showInputDialog("Quando é o aniversario de seu cliente?");numero_telefone=JOptionPane.showInputDialog("Qual é o número de telefone fixo dele(a)?");numero_celular=JOptionPane.showInputDialog("E o número de celular?");email=JOptionPane.showInputDialog("Ele(a) tem e-mail?");try{Filefile=newFile("C:\\Users\\Familia\\Desktop\\cadastro\\Clientes cadastrados\\"+nome_do_arquivo+".txt");// verifica se o arquivo existeif(!file.exists()){// se não existir cria o arquivofile.createNewFile();}System.out.println("C:\\Users\\Familia\\Desktop\\cadastro\\"+nome_do_arquivo+".txt");// cria um arquivo com append true para garantir a// persistência dos dados anterioresFileWriterwriter=newFileWriter(file,true);PrintWritercadastro=newPrintWriter(writer);if(file.length()>0){cadastro.println("==============================Novo Registro======================================");}cadastro.println("Cliente: "+nome+"\r\r\n"+"Endereço: "+endereco+"\r\r\n"+"CEP: "+cep+"\r\r\n"+"CPF: "+cpf+"\r\r\n"+"RG: "+rg+"\r\r\n"+"Data de aniversário: "+data_nascimento+"\r\r\n"+"Número de telefone fixo: "+numero_telefone+"\r\r\n"+"Número de celular: "+numero_celular+"\r\r\n"+"E-mail: "+email);// descarrega garantindo que a ultima entrada no buffer será// gravadacadastro.flush();cadastro.close();}catch(IOExceptionex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"Ocorreu um erro ao cadastrar "+nome);}catch(Exceptionex){ex.printStackTrace();}}while(JOptionPane.showConfirmDialog(null,"Deseja cadastrar outro clientes?")==0);}publicstaticvoidmain(String[]args){menu();}}