Ir ao conteúdo
  • Cadastre-se
Henrique Malone

Java Como exibir dados de um arquivo serializado?

Recommended Posts

Boa noite a todos!

Estou iniciando em java e preciso fazer um sistema que cadastra alunos e salva os dados desses alunos em um arquivo serializado. Eu até consigo criar e salvar os dados no arquivo serializado (acho rsrs) mas não sei como exibir todos esses dados na tela(posteriormente precisarei deletar e editar esses dados salvos mas no momento quero focar só em exibi-los). Alguém poderia me ajudar com esse problema? Irei exibir os dados em uma JTable.

 

Classe Estudante onde ele adiciona

public class Estudante implements Serializable {

    private String id;
    private String nome;
    private String sexo;
    private String dataNasc;
    private String rg;
    private String cpf;
    private String celular;
    private String telefone;
    private String email;
    private String end;
    private String bairro;
    private String cidade;
    private String cep;
    private String uf;
    private String num;

    public String getId() { //retorna o id
        return id;
    }

    public void setId(String id) { //recebe o id
        this.id = id;
    }

    public String getNome() { //retorna o nome
        return nome;
    }

    public void setNome(String nome) { //recebe o nome
        this.nome = nome;
    }

    public String getSexo() { //retorna o sexo
        return sexo;
    }

    public void setSexo(String sexo) { //recebe o sexo
        this.sexo = sexo;
    }

    public String getDataNasc() { //retorna a data de nascimento
        return dataNasc;
    }

    public void setDataNasc(String dataNasc) { //recebe a data de nascimento
        this.dataNasc = dataNasc;
    }

    public String getRg() { //retorna o rg
        return rg;
    }

    public void setRg(String rg) { //recebe o rg
        this.rg = rg;
    }

    public String getCpf() { //retorna o cpf
        return cpf;
    }

    public void setCpf(String cpf) { //recebe o cpf
        this.cpf = cpf;
    }

    public String getCelular() { //retorna o celular
        return celular;
    }

    public void setCelular(String celular) { //recebe o celular
        this.celular = celular;
    }

    public String getTelefone() { //retorna o telefone
        return telefone;
    }

    public void setTelefone(String telefone) { //recebe o telefone
        this.telefone = telefone;
    }

    public String getEmail() { //retorna o email
        return email;
    }

    public void setEmail(String email) { //recebe o email
        this.email = email;
    }

    public String getEnd() { //retorna o endereço
        return end;
    }

    public void setEnd(String end) { //recebe o endereço
        this.end = end;
    }

    public String getBairro() { //retorna o bairro
        return bairro;
    }

    public void setBairro(String bairro) { //recebe o bairro
        this.bairro = bairro;
    }

    public String getCidade() { //retorna a cidade
        return cidade;
    }

    public void setCidade(String cidade) { //recebe a cidade
        this.cidade = cidade;
    }

    public String getCep() { //retorna o cep
        return cep;
    }

    public void setCep(String cep) { //recebe o cep
        this.cep = cep;
    }

    public String getUf() { //retorna o uf
        return uf;
    }

    public void setUf(String uf) { //recebe o uf
        this.uf = uf;
    }

    public String getNum() { //retorna o numero
        return num;
    }

    public void setNum(String num) { //recebe o numero
        this.num = num;
    }
}

Classe Clientes onde adiciona e exibe os estudantes

public class Clientes implements Serializable {


    public boolean adiciona(Estudante estudante) {
         try {
             FileOutputStream saveFile = new FileOutputStream("estudantes.txt", true);
             ObjectOutputStream stream = new ObjectOutputStream(saveFile);

              // salva o objeto
             stream.writeObject(estudante);
             stream.writeObject(System.getProperty ("line.separator"));

             saveFile.close();
             stream.close();

             return true;
           } catch (Exception exc) {
             exc.printStackTrace();
           }

         return false;
    }

    public void exibe(){
        Estudante estudantes = null;

        try{
            FileInputStream fin = new FileInputStream("estudantes.txt");
            ObjectInputStream ois = new ObjectInputStream(fin);

            estudantes = (Estudante) ois.readObject();

            //System.out.println(estudantes.getNome());

            ois.close();

       }catch(Exception ex){
        ex.printStackTrace(); 
       } 
   }
}

Tela principal que recebe os dados

String nome = edtNome.getText(); //variavel 'nome' recebe o que estiver no campo de texto Edit
  String sexo = (String) edtSexo.getSelectedItem(); //variavel 'sexo' recebe o que estiver no campo de texto Edit
  String dataNasc = edtdataNasc.getText(); //variavel 'dataNasc' recebe o que estiver no campo de texto Edit
  String cpf = edtCpf.getText(); //variavel 'cpf' recebe o que estiver no campo de texto Edit
  String rg = edtRg.getText(); //variavel 'rg' recebe o que estiver no campo de texto Edit
  String celular = edtCelular.getText(); //variavel 'celular' recebe o que estiver no campo de texto Edit
  String telefone = edtTelefone.getText(); //variavel 'telefone' recebe o que estiver no campo de texto Edit
  String email = edtEmail.getText(); //variavel 'email' recebe o que estiver no campo de texto Edit
  String end = edtEnd.getText(); //variavel 'end' recebe o que estiver no campo de texto Edit
  String bairro = edtBairro.getText(); //variavel 'bairro' recebe o que estiver no campo de texto Edit
  String cidade = edtCidade.getText(); //variavel 'cidade' recebe o que estiver no campo de texto Edit
  String cep = edtCep.getText(); //variavel 'cep' recebe o que estiver no campo de texto Edit
  String uf = (String) edtUf.getSelectedItem(); //variavel 'uf' recebe o que estiver no campo de texto Edit
  String num = edtNum.getText(); //variavel 'num' recebe o que estiver no campo de texto Edit

  estudante.setId(id);
  estudante.setBairro(bairro); //envia a variavel 'bairro' para o respectivo set da classe Estudante
  estudante.setCelular(celular); //envia a variavel 'celular' para o respectivo set da classe Estudante
  estudante.setCep(cep); //envia a variavel 'cep' para o respectivo set da classe Estudante
  estudante.setNome(nome); //envia a variavel 'nome' para o respectivo set da classe Estudante
  estudante.setSexo(sexo); //envia a variavel 'sexo' para o respectivo set da classe Estudante
  estudante.setCidade(cidade); //envia a variavel 'cidade' para o respectivo set da classe Estudante
  estudante.setDataNasc(dataNasc); //envia a variavel 'dataNasc' para o respectivo set da classe Estudante
  estudante.setCpf(cpf); //envia a variavel 'cpf' para o respectivo set da classe Estudante
  estudante.setEmail(email); //envia a variavel 'email' para o respectivo set da classe Estudante
  estudante.setRg(rg); //envia a variavel 'rg' para o respectivo set da classe Estudante
  estudante.setEnd(end); //envia a variavel 'end' para o respectivo set da classe Estudante
  estudante.setUf(uf); //envia a variavel 'uf' para o respectivo set da classe Estudante
  estudante.setTelefone(telefone); //envia a variavel 'telefone' para o respectivo set da classe Estudante
  estudante.setNum(num); //envia a variavel 'nm' para o respectivo set da classe Estudante

  Clientes cliente = new Clientes();

  if(cliente.adiciona(estudante)==true){ //chama o método addEstudante da classe Estudante
    JOptionPane.showMessageDialog(null,"Estudante cadastrado com sucesso!");
  }
} catch (Exception ex){
  JOptionPane.showMessageDialog(null,"Erro ao cadastrar o estudante!");
  Logger.getLogger(cadEstudante.class.getName()).log(Level.SEVERE, null, ex); //retorna erro
}

Agradeço desde já a ajuda de vocês :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eai amigo, acho que você não vai conseguir abrir um JTable, creio que só conseguirá abrir a arquivo (txt ou o que for). Se for um arquivo txt você consegue pegar valores de lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×