Salvar cadastros em arquivo TXT

6 respostas
F

Boa tarde Pessoal

Tenho um formulário de cadastro de cliente e quero salvar em um arquivo TXT, procurei exemplos na internet e só localizei como salvar um único registro, mas preciso salvar diversos cadastros, no meu código atual ele apaga o registro anterior.

Procurei aqui no GUJ tanto em tópicos como nos artigos mas não consegui resolver meu problema.

Segue meu código para análise:

// Evento do Botão Gravar.
		btnGravar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Condição, verifica se os campo estão vazios.
				if (tfCodigo.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null,
							"O Código não pode está vazio!");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfCodigo.requestFocus();

				} else if (tfNome.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null,
							"O Nome não pode está vazio!");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfNome.requestFocus();

				} else if (tfEmail.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null, "");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfEmail.requestFocus();

				} else {
					// Tratamento de Erros.
                                    
                                        
					try {
					
                                                PrintWriter out = new PrintWriter("Cadastroteste.txt");// Define o extensão do arquivo que
											// deseja criar.
                                             
                        // Define o extensão do arquivo que
                        // deseja criar.
                        // Captura o Texto dos JTextField.
                        PrintWriter append = out.append(tfCodigo.getText() + ";" + tfNome.getText() + ";" + tfEmail.getText() + "\r\n");
                                              
                                                
					
out.println();
						// Fecha Conexão.
						out.close();

						// Exibe caixa de Dialogo.
						JOptionPane.showMessageDialog(null,
								"Arquivo Gravado com Sucesso!");

					} catch (IOException Erro) {
						JOptionPane.showMessageDialog(null,
								"Erro ao Gravar no Arquivo" + Erro);
					}
				}
			}
		});

6 Respostas

Luiz_Augusto_Prado
fabricio.gana:
Boa tarde Pessoal

Tenho um formulário de cadastro de cliente e quero salvar em um arquivo TXT, procurei exemplos na internet e só localizei como salvar um único registro, mas preciso salvar diversos cadastros, no meu código atual ele apaga o registro anterior.

Procurei aqui no GUJ tanto em tópicos como nos artigos mas não consegui resolver meu problema.

Segue meu código para análise:

// Evento do Botão Gravar.
		btnGravar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Condição, verifica se os campo estão vazios.
				if (tfCodigo.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null,
							"O Código não pode está vazio!");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfCodigo.requestFocus();

				} else if (tfNome.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null,
							"O Nome não pode está vazio!");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfNome.requestFocus();

				} else if (tfEmail.getText().equals("")) {
					// Exibe caixa de Dialogo.
					JOptionPane.showMessageDialog(null, "");

					// Fornece o foco ao cursor da caixa de Texto
					// correspondente.
					tfEmail.requestFocus();

				} else {
					// Tratamento de Erros.
                                    
                                        
					try {
					
                                                PrintWriter out = new PrintWriter("Cadastroteste.txt");// Define o extensão do arquivo que
											// deseja criar.
                                             
                        // Define o extensão do arquivo que
                        // deseja criar.
                        // Captura o Texto dos JTextField.
                        PrintWriter append = out.append(tfCodigo.getText() + ";" + tfNome.getText() + ";" + tfEmail.getText() + "\r\n");
                                              
                                                
					
out.println();
						// Fecha Conexão.
						out.close();

						// Exibe caixa de Dialogo.
						JOptionPane.showMessageDialog(null,
								"Arquivo Gravado com Sucesso!");

					} catch (IOException Erro) {
						JOptionPane.showMessageDialog(null,
								"Erro ao Gravar no Arquivo" + Erro);
					}
				}
			}
		});
Como não achou nenhum? já tentou pesquisar isso no google?
https://www.google.com.br/?gws_rd=ssl#q=java+ler+gravar+arquivo+GUJ
F

Boa noite Luis,

obrigado por responder este tópico.

Estou abrindo os links que você postou, tentando entender (já que sou novato em qualquer linguagem de programação) e adaptar a minha necessidade.

Eu não disse que não encontrei “nenhum tópico ou artigo” e sim eu coloquei:

Procurei aqui no GUJ tanto em tópicos como nos artigos mas não consegui resolver meu problema.

Abraço.

Luiz_Augusto_Prado

fabricio.gana:
Boa noite Luis,

obrigado por responder este tópico.

Estou abrindo os links que você postou, tentando entender (já que sou novato em qualquer linguagem de programação) e adaptar a minha necessidade.

Eu não disse que não encontrei “nenhum tópico ou artigo” e sim eu coloquei:

Procurei aqui no GUJ tanto em tópicos como nos artigos mas não consegui resolver meu problema.

Abraço.

esse aqui tá facinho:
www.devmedia.com.br/criando-e-gravando-dados-em-txt-com-java/23060

vou te dar uma dica…
se vc quer que os registros anteriores continuem, não pode sobrescrever o arquivo.
tem que abrir ele, ir até a ultima linha dele, e acrescentar o que vc quer.
faça o pseudo-código (portugol) aqui do que vc quer pra eu ver.

F

Luis valeu pelas dicas.

Fiz um cadastro de clientes, no formulário tem um botão gravar, quando clico em gravar ele abre um arquivo TXT Cadastroteste.txt e grava o que ele capturou do formulário.

Grava na primeira linha do arquivo

Se eu for cadastrar outro cliente, ele apaga o registro anterior e salva na primeira linha

O que eu preciso é que ele abra o arquivo Cadastroteste.txt e grave na próxima linha

ficaria assim o arquivo

1;fabricio;[email removido]
2;jose;[email removido]

abraço

Luiz_Augusto_Prado

fabricio.gana:
Luis valeu pelas dicas.

Fiz um cadastro de clientes, no formulário tem um botão gravar, quando clico em gravar ele abre um arquivo TXT Cadastroteste.txt e grava o que ele capturou do formulário.

Grava na primeira linha do arquivo

Se eu for cadastrar outro cliente, ele apaga o registro anterior e salva na primeira linha

O que eu preciso é que ele abra o arquivo Cadastroteste.txt e grave na próxima linha

ficaria assim o arquivo

1;fabricio;[email removido]
2;jose;[email removido]

abraço

isso não é um pseudo-código
http://pt.wikibooks.org/wiki/Introdução_à_programação/Pseudo-código

F

Boa tarde Luiz

Modifiquei meu método para gravar, e agora esta funcionando.

writer = new  FileWriter("Cadastroteste.txt", true);
           PrintWriter out = new PrintWriter(writer, true)
			
                                                   
                        PrintWriter append = out.append(tfCodigo.getText() + ";" + tfNome.getText() + ";" + tfEmail.getText() + "\r\n");
                                              
                                                
					
				// Fecha Conexão.
						out.close();

Obrigado pelos toques, dicas. Abri os links e procurei entender e depois adaptar, estava tentando adaptar e resolver sem antes entender.

Abraço

Criado 24 de novembro de 2014
Ultima resposta 25 de nov. de 2014
Respostas 6
Participantes 2