quarta-feira, 9 de maio de 2007

Serializando um objeto no disco

É só você selecionar o fonte, copiar e colar no seu editor que
ele aparecerá sem cortes.

/*
* Pessoa.java
*
* Classe que será gravada no disco.
*
*/

import java.io.Serializable;

public class Pessoa implements Serializable {

private String nome = "";
private int idade = 0;

public Pessoa() {
}

public String getNome() {
return nome;
}

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

public int getIdade() {
return idade;
}

public void setIdade(int idade) {
this.idade = idade;
}

}

/*
* Exemplo.java
*
* Exemplo que mostra como gravar
* e recuperar um objeto no disco
*
*/

import java.io.*;

public class Exemplo {

private static void gravaObjeto(Object object){
File file;
try{
file = new File(System.getProperty("user.dir")+"/objeto.txt");
FileOutputStream arquivoSaida = new FileOutputStream(file);
ObjectOutputStream saida = new ObjectOutputStream(arquivoSaida);
saida.writeObject(object);
saida.flush();
arquivoSaida.close();
}catch(Exception e){
e.printStackTrace();
}
}
private static Object recuperaObjeto(){
File file;
Object object = null;
file = new File(System.getProperty("user.dir")+"/objeto.txt");
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
object = in.readObject();
in.close();
}catch(Exception e){
e.printStackTrace();
}
return object;
}


public static void main(String[] args) {
Pessoa pessoa = new Pessoa();
Pessoa pessoa2;
pessoa.setNome("JavaFontes");
pessoa.setIdade(20);
// gravo o objeto pessoa no disco
gravaObjeto(pessoa);

// recupero o objeto pessoa do disco
pessoa2 = (Pessoa)recuperaObjeto();
System.out.println(pessoa2.getNome());
System.out.println(pessoa2.getIdade());
}
}

Nenhum comentário: