Serialização

3 respostas
V

Alguem sabe onde pego um tutorial basico de serialização?
Porque tenho uma aplicação onde eu devo copiar o arquivo( que pode ser de varios formatos) e colar em uma pasta do servidor.

3 Respostas

BrunoBastosPJ

Como é seu inglês? Este artigo é bem legal, mas é em inglês!

http://java.sun.com/developer/technicalArticles/Programming/serialization/

Serialização não é um bixo de 7 cabeças como muitos pensam hehehe

abs

N

Sucinto! :wink:

[size="18"]NossaClasseSerializada.java[/size]
import java.io.Serializable;

//Nossa classe que implementa a interface "Serializable"
class NossaClasseSerializada implements Serializable {
	private int testaInt; // Será incluído na serialização
	private String testaString; // Será incluído na serialização
	transient private String testaStringTransient; // NÃO será incluído na serialização
	/*Obs. O modificador "transient" pode ser usado apenas em atributos, 
	 * e indica que ele não deve ser incluído na serialização do objeto!*/

	//Abaixo nossos métodos "getters and setters"
	public int getTestaInt() {
		return testaInt;
	}
	public void setTestaInt(int testaInt) {
		this.testaInt = testaInt;
	}
	public String getTestaString() {
		return testaString;
	}
	public void setTestaString(String testaString) {
		this.testaString = testaString;
	}
	public String getTestaStringTransient() {
		return testaStringTransient;
	}
	public void setTestaStringTransient(String testaStringTransient) {
		this.testaStringTransient = testaStringTransient;
	}
}
[size="18"]Serializa.java[/size]
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

/*EXECUTAR PRIMEIRO!
 * Vamos serializar o objeto da classe "NossaClasseSerializada" */
public class Serializa {
	public static void main(String[] args) {
		try {
			//Criando o objeto a ser serializado
			NossaClasseSerializada objSerializado = new NossaClasseSerializada();
			
			//Atribuindo valores as variáveis com os métodos "setters"
			objSerializado.setTestaInt(1984);
			objSerializado.setTestaString("Winston Smith");
			objSerializado.setTestaStringTransient("O Grande Irmão");
			
			//Serializando o objeto no arquivo "objSerializado.obj"
			FileOutputStream out = new FileOutputStream("objSerializado.obj");
			ObjectOutputStream oo = new ObjectOutputStream(out);
			oo.writeObject(objSerializado); //Escrevendo objeto no arquivo!
			
			System.out.println("SERIALIZOU OBJETO!");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}
[size="18"]RecuperaSerializado.java[/size]
import java.io.FileInputStream;
import java.io.ObjectInputStream;

/*EXECUTAR APÓS "Serializa.class"
 * Vamos recuperar o objeto serializado da classe "NossaClasseSerializada" */
public class RecuperaSerializado {
	public static void main(String[] args) throws Exception{
		try {
			/*Recuperando o objeto serializado no arquivo "objSerializado.obj"
			 * Obs. Utilize o casting para: "(NossaClasseSerializada) oi.readObject()" */
			FileInputStream in = new FileInputStream("objSerializado.obj");
			ObjectInputStream oi = new ObjectInputStream(in);
			NossaClasseSerializada objSerializadoRecuperado = (NossaClasseSerializada) oi.readObject(); 
			
			//Exibindo os dados recuperados com os métodos "getters"
			System.out.println("RECUPEROU OBJETO SERIALIZADO!\n");
			System.out.println("testaInt: "+objSerializadoRecuperado.getTestaInt());
			System.out.println("testaString: "+objSerializadoRecuperado.getTestaString());
			System.out.println("testaStringTransient: "+objSerializadoRecuperado.getTestaStringTransient());
			
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}
V

obrigado
me ajudou muito

Criado 14 de outubro de 2007
Ultima resposta 16 de out. de 2007
Respostas 3
Participantes 3