Ir para o conteúdo
supaturk

Salvar dados em arquivo TXT

Mensagens Recomendadas

supaturk

boas. basicamente queros salvar os dados dessa classe em um arquivo txt,

onde seja possivel posteriormente alterar os dados. mas n sei por onde começar,

alguém pode dá uma ajuda...?

import java.util.ArrayList;
import java.util.Scanner;

public class Cliente {

private String nome;
private String DataNascimento;
private String cpf;
private String Email;
private String Telefone;
private String Logradouro;
private ArrayListcliente = new ArrayList<>();
private int opcao;
private String opcao1;
private Scanner s = new Scanner(System.in);

// public static Cliente clientes[] = new Cliente[20];


public void Add(Cliente C){
this.cliente.add(C);
}
public Cliente getCliente(int index){
return this.cliente.get(index);
}

public String getTelefone() {
return Telefone;
}


public void setTelefone(String telefone) {
Telefone = telefone;
}

public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDataNascimento() {
return DataNascimento;
}
public void setDataNascimento(String dataNascimento) {
DataNascimento = dataNascimento;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public String getLogradouro() {
return Logradouro;
}
public void setLogradouro(String logradouro) {
Logradouro = logradouro;
}


public void MenuCliente(){
System.out.println("|===========================================|");
System.out.println("| MENU CLIENTE |");
System.out.println("|===========================================|");
System.out.println("| [0] - ENCERRAR |");
System.out.println("| [1] - CADASTRAR CLIENTE |");
System.out.println("| [2] - EDITAR |");
System.out.println("| [3] - LISTAR |");
System.out.println("| [4] - VISUALIZAR |");
System.out.println("| [5] - CONSULTAR |");
System.out.println("|===========================================|");
System.out.println("| ESCOLHA UMA OPCAO |");
System.out.println("|===========================================|");

opcao = s.nextInt();
switch (opcao) {
case 1:
CadastroCliente();
break;
case 2:
EditarCliente();
break;
case 3:
ListarCliente();
break;
case 4:
VisualizarCliente();
break;
case 5:
ConsultarCliente();
break;
case 0:
Sair();
break;
default:
System.out.println("opcao invalida....");
break;
}

}

public void Sair(){
System.out.println("|===========================================|");
System.out.println("| FINALIZADO COM SUCESSO!!! |");
System.out.println("| VOLTE SEMPRE! |");
System.out.println("|===========================================|");
System.exit(0);
}


public void CadastroCliente(){
Cliente Cliente =new Cliente();
System.out.println("|===========================================|");
System.out.println("| MENU CADASTRO DE CLIENTE |");
System.out.println("|===========================================|");
System.out.println("");
System.out.println(" DIGITE O NOME DO CLIENTE: ");
Cliente.setNome(new Scanner(System.in).nextLine());
System.out.println(" DIGITE A DATA DE NASCIMENTO DO CLIENTE: ");
Cliente.setDataNascimento(new Scanner(System.in).nextLine());
System.out.println(" DIGITE O CPF: ");
Cliente.setCpf(new Scanner(System.in).nextLine());
System.out.println(" DIGITE O TELEFONE: ");
Cliente.setTelefone(new Scanner(System.in).nextLine());
System.out.println(" DIGITE O EMAIL: ");
Cliente.setEmail(new Scanner(System.in).nextLine());
System.out.println(" DIGITE O LOGRADOURO: ");
Cliente.setLogradouro(new Scanner(System.in).nextLine());
this.Add(Cliente);
} // FIM DO CADASTRO


public void ListarCliente(){
System.out.println("|===========================================|");
System.out.println("| LISTAR CLIENTE |");
System.out.println("|===========================================|");

if(cliente.isEmpty()){
System.out.println("Lista Vazia..."); //testar se a lista esta vazia
}else{
for(int i=0;i
 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
siul72

Boas,

A maneira mais direta que estou a ver:

1. Crias um metodo save() e outro load() nessa classe.

2. No save crias ou inseres data no ficheiro txt, cada linha pode representar uma instância da classe com os membros separados por um determinado caracter

2.1 Ao fazer save deves validar se o cliente ja existe para adicionar linha ou actualizar uma linha existente

3. O metodo load() deve ser "static" e deve ser chamado passando um paramettro que serÄ o Id (identificador) da instância que procuras.

3.1 Com o Id procuras a linha, se existir , crias uma nova instancia da classe carregas os valores e retornas a referencia para a instância criada.

Existem outras formas de "Presistir" os valores tais como: utilizar a classe Serializable para converter os objectos para um formato de ficheiro e/ou converter dados de um ficheiro em objectos,

Utilizar uma framework de presistencia em conjunto com uma base de dados (por exemplo Hibernate) ou utilizar uma base de dados directamente.

E outros....

Mas säo apenas alternativas de implementação para um problema.

Tudo depende da aplicação, se è para utilizar como exercício didáctico podes ir pelo ficheiro. As outras solucoes são um pouco mais complexas e menos didácticas para quem estÄ a iniciar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.