Olá pessoal!
Como alguns já sabem, eu estou desenvolvendo um programa de cadastramento de clientes em inglês. Já postei uma dúvida sobre isso, mas agora tenho outra dúvida:
Já tenho o código todo pronto, mas ao compilar aparece a seguinte mensagem:
Olhem o código:
importjavax.swing.JOptionPane;importjava.io.FileWriter;importjava.io.PrintWriter;publicclassCadastro{publicstaticvoidmain(String[]args){Stringnome_do_arquivo,nome,data_nascimento,numero_telefone,numero_celular,email;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?"+".txt");nome=JOptionPane.showInputDialog("Qual é o nome 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?");Filefile=newfile("/Clientes cadastrados/"+nome_do_arquivo);FileWriterwriter=newFileWriter(newfile(nome_do_arquivo));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\n"+"Data de aniversário: "+data_nascimento+"\n"+"Número de telefone fixo: "+numero_telefone+"\n"+"número de celular: "+numero_celular+"\n"+"E-mail :"+email+"\n");cadastro.close();System.exit(0);}}
boa noite colega !!!
Já tentou realizar o import da classe File, nao encontrei no fonte…
T+
Bruno_Cunha
Você precisa importar a classe java.io.File.
E o Java é uma linguagem case-sensitive, ao instanciar uma classe, digite o nome dela respeitando maiúsculas e minúsculas. Use “new File” ao invés de “new file”.
Eu tinha colocado o “new File” mas mesmo assim deu erro então eu coloquei com letra minúscula.
Obrigado a todos!
mcirqueira
Fiz como vós falaram mas aí apareceu outro erro:
Olhem novamente o código:
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;publicclassCadastro{publicstaticvoidmain(String[]args){Stringnome_do_arquivo,nome,data_nascimento,numero_telefone,numero_celular,email;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?"+".txt");nome=JOptionPane.showInputDialog("Qual é o nome 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?");Filefile=newFile("/Clientes cadastrados/"+nome_do_arquivo);FileWriterwriter=newFileWriter(newFile(nome_do_arquivo));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\n"+"Data de aniversário: "+data_nascimento+"\n"+"Número de telefone fixo: "+numero_telefone+"\n"+"número de celular: "+numero_celular+"\n"+"E-mail :"+email+"\n");cadastro.close();System.exit(0);}}
A princípio arquivos do tipo “File” disparam um exceção do tipo “IOException”, porém, por vias das dúvidas e também tratei a exceçâo com “Exception”
Um abraço.
ironmarq
“mcirqueira” é o seguinte, pense em problemas que possam ocorrer após vc compilar seu programa, justamente no momento em que ele estiver rodando bonitinho e vc estiver esperando ele retornar algum valor esperado e desejado e pumbaaaa, vc recebe uma tal de java.io.IOException, isso significa que algo “excepcional” ocorreu em tempo de execução vindo de seu programa, por esse e outros motivos, java disponibiliza o mecanismo de tratamento de exceções com o intuito de “tratar” esses possíveis erros para q o seu programa continue em sua execução, mesmo após o lançamento da exceção que foi mostrado na prática pelo “discorpio”, qdo se trabalha com o pacote java.io, onde se trabalha com acesso á disco, serialização de objetos entre outros, exceções podem ser lançadas . Se tiver curiosidade, dê uma procurada no javadoc sobre o pacote java.io que aprenderá muita coisa, se tiver mais dúvidas, estou á disposição.
mathiasnw
Em java existem dois tipos de exceções as verificadas e não-verificadas.
Resumindo
Exceções verificadas o compilador obriga você a colocar o try catch.
A princípio arquivos do tipo “File” disparam um exceção do tipo “IOException”, porém, por vias das dúvidas e também tratei a exceçâo com “Exception”
Um abraço.
Olá, desculpe por está atormentando vós desse jeito, mas é eu não entendo muito desses tratamentos de erros, mas sempre faço do jeito que vós falam e sempre dá um erro.
Vejam:
E o código:
importjavax.swing.JOptionPane;importjava.io.File;importjava.io.FileWriter;importjava.io.PrintWriter;publicclassCadastro{publicstaticvoidmain(String[]args){Stringnome_do_arquivo,nome,data_nascimento,numero_telefone,numero_celular,email;nome_do_arquivo=JOptionPane.showInputDialog("Qual será o nome deste arquivo?"+".txt");nome=JOptionPane.showInputDialog("Qual é o nome 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("/Clientes cadastrados/"+nome_do_arquivo);FileWriterwriter=newFileWriter(newFile(nome_do_arquivo));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\n"+"Data de aniversário: "+data_nascimento+"\n"+"Número de telefone fixo: "+numero_telefone+"\n"+"número de celular: "+numero_celular+"\n"+"E-mail :"+email+"\n");cadastro.close();}catch(IOExceptionex){ex.printStackTrace();}catch(Exceptionex){ex.printStrackTace();}System.exit(0);}}
romarcio
IOException é uma classe, sendo uma classe ela precisa ser importada.
Não leva a mal, mas vou te indicar 2 livros muito bons:
Use a Cabeça Java
Java Como Programar
Vai te ajudar nos estudos e a entender muita coisa.
Em vez de ex.printStrackTrace é ex.printStackTrace
Por isso que estava dando erro.Só não prestei muita atenção!
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;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("/Clientes cadastrados/"+nome_do_arquivo);FileWriterwriter=newFileWriter(newFile(nome_do_arquivo+".txt"));PrintWritercadastro=newPrintWriter(writer);cadastro.println("Cliente: "+nome+"\n\n"+"Endereço: "+endereco+"\n\n"+"Data de aniversário: "+data_nascimento+"\n\n"+"Número de telefone fixo: "+numero_telefone+"\n\n"+"Número de celular: "+numero_celular+"\n\n"+"E-mail: "+email+"\n\n");cadastro.close();}catch(IOExceptionex){ex.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}System.exit(0);}}
Agora que o programa está funcionando direitinho, quando termina de funcionar, vejo o arquivo de texto está na mesma pasta da classe Cadastro, em vez de salvar na pasta que eu criei e coloquei em: