Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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 :)

Editado por Henrique Malone

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






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

×