Recuperando seus objetos diretamente de arquivos
Vamos utilizar o post anterior ( Serialização I: salvando Objetos em arquivos) para mostrar o caminho de volta , como pegamos os arquivos e recuperamos os objetos serializados armazenados neles.
Vamos pegar a Classe auxiliar armazenamento e implementar o metodo CarregarDados , veja abaixo como fica a classe
Classe Armazenamento
import java.util.ArrayList; import java.io.*; /** * * @author JoaoSantanna */ public class Armazenamento { public Object carregarDados() { Object resultado = null; try { //tem que ser o mesmo nome do arquivo de salvamento FileInputStream fs = new FileInputStream("dadosApp.arq"); ObjectInputStream os = new ObjectInputStream(fs); resultado = os.readObject( ); return resultado; } catch (Exception ex) { return null; } } public int salvarDados(ArrayList dados) { try {...
Depois disso basta colocar o código necessário na classe principal do exemplo anterior como mostra o exemplo a seguir
public class ManipulacaoArquivo { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Aluno a1,a2,a3; Armazenamento dados = new Armazenamento( ); a1 = new Aluno("Joao", 33); a2 = new Aluno("Pedro", 25); a3 = new Aluno("Maria", 30); ArrayListturma = new ArrayList ( ); turma.add(a1); turma.add(a2); turma.add(a3); //imprime os dados da turma for ( Aluno a : turma){ System.out.println("Nome:" + a.getNome( ) + " Idade:" + a.getIdade( ) ); } dados.salvarDados(turma); //ler dados do arquivo colocar no array e imprimir ArrayList turmaDadosRecuperados = (ArrayList ) dados.carregarDados( ); System.out.println("Dados Lidos do Arquivo"); for ( Aluno a : turmaDadosRecuperados){ System.out.println("Nome:" + a.getNome( ) + " Idade:" + a.getIdade( ) ); }
Pronto basta isso e você consegue carregar novamente todos os dados dos objetos que estavam ativos quando ocorreu a serialização.
Caso alguma coisa não funcione ou se tiver duvida comente no post .
Abraço a todos.
Comentários
Postar um comentário
Ajude o blog a melhorar comente!!!