Boa tarde, tudo bem?
Sou iniciante em java, e estou tentando fazer uma uma agenda com implements Serializable utilizando JAVA.IO. É para um exercício da faculdade.
Porém estou com uma dúvida de como otimizar o código, pois preciso cadastrar 50 contatos com os atributos “nome”, “email” e “fone” e não consegui fazer utilizando array do objeto da classe “Aluno”.
Se observarem o código no momento da leitura e cadastro estou sempre instanciando um novo objeto , e para 50 contatos vai ficar estranho demais, como estou aprendendo gostaria de saber uma forma melhor de fazer isso.
Alguém pode me dar uma luz nesta situação? Segue código abaixo:
import java.io.*;
class Aluno implements Serializable{
String nome;
String email;
int numero;
public int getNumero(){
return numero;
}
public void setNumero(int numero){
this.numero = numero;
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = email;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
public class Agenda { // interface Serializable
public static void main (String[] args){
Aluno a = new Aluno();
a.setNome("Marcio");
a.setEmail("marcia@email.com.br");
a.setNumero(9999999);
Aluno b = new Aluno();
b.setNome("Alice");
b.setEmail("alice@email.com.br");
try {
File arquivo = new File ("C:\\users\\Andrei\\Desktop\\GuardaObjetos.txt");
// Efetua gravação dos objetos no arquivo
FileOutputStream fOut = new FileOutputStream(arquivo);
ObjectOutputStream objOut = new ObjectOutputStream(fOut);
objOut.writeObject(a);
objOut.writeObject(b);
// Efetua a leitura dos objetos no arquivo
FileInputStream fIn = new FileInputStream (arquivo);
ObjectInputStream objIn = new ObjectInputStream(fIn);
Aluno primeiro = (Aluno) objIn.readObject();
System.out.println(primeiro.getNome());
System.out.println(primeiro.getEmail());
System.out.println(primeiro.getNumero());
Aluno segundo = (Aluno) objIn.readObject();
System.out.println(segundo.getNome());
System.out.println(segundo.getEmail());
}catch (IOException e){
}catch (ClassNotFoundException e){
}
}
}