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);
ArrayList turma = 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!!!