import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Serializacao implements Serializable{ // Implementar
Serializable
private int width; // atributos a serem gravados
private int height;
public Serializacao(int width, int height) {
this.width = width;
this.height = height;
}
// métodos getters e setters
public int getWidth() { return width; }
public void setWidth(int width) { this.width = width; }
public int getHeight() { return height; }
public void setHeight(int height) { this.height = height; }
public String toString() {
return "Serializacao [height = " + height + ", width = " + width +
"]";
}
public static void main(String[] args) {
// novas instancias de ObjetoSerializavel com valores definidos
Serializacao ObjetoSerializavel1 = new Serializacao(33, 75);
Serializacao ObjetoSerializavel2 = new Serializacao(45, 82);
Serializacao ObjetoSerializavel3 = new Serializacao(51, 93);
// cria ou sobreescreve um arquivo objetoSerializado.ser
// com uma extensão personalizada
try {
FileOutputStream fos1 = new
FileOutputStream("objetoSerializado1.ser");
FileOutputStream fos2 = new
FileOutputStream("objetoSerializado2.ser");
FileOutputStream fos3 = new
FileOutputStream("objetoSerializado3.ser");
ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
ObjectOutputStream oos2 = new ObjectOutputStream(fos2);
ObjectOutputStream oos3 = new ObjectOutputStream(fos3);
oos1.writeObject(ObjetoSerializavel1);
oos2.writeObject(ObjetoSerializavel2);
oos3.writeObject(ObjetoSerializavel3);
oos1.close();
oos2.close();
oos3.close();
} catch (Exception e) { e.printStackTrace(); }
}
}
-----------------------------------------------------------------------------------------
package pacote;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Desserializacao implements Serializable {
private void desserializa() {
Serializacao objetoDesserializado1 = null;
Serializacao objetoDesserializado2 = null;
Serializacao objetoDesserializado3 = null;
try {
FileInputStream fis1 = new
FileInputStream("objetoSerializado1.ser");
FileInputStream fis2 = new
FileInputStream("objetoSerializado2.ser");
FileInputStream fis3 = new
FileInputStream("objetoSerializado3.ser");
ObjectInputStream ois1 = new ObjectInputStream(fis1);
ObjectInputStream ois2 = new ObjectInputStream(fis2);
ObjectInputStream ois3 = new ObjectInputStream(fis3);
Object objeto1 = ois1.readObject();
Object objeto2 = ois2.readObject();
Object objeto3 = ois3.readObject();
objetoDesserializado1 = (Serializacao) objeto1;
objetoDesserializado2 = (Serializacao) objeto2;
objetoDesserializado3 = (Serializacao) objeto3;
ois1.close();
ois2.close();
ois3.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(objetoDesserializado1.toString());
System.out.println(objetoDesserializado2.toString());
System.out.println(objetoDesserializado3.toString());
// Objetos recuperdos com os valores "salvos" na Classe Serializacao
}
public static void main(String[] args) {
Desserializacao desserializacao = new Desserializacao();
desserializacao.desserializa();
}
}
-----------------------------------------------------------------------------------------