Pergunta: Dá para guardar um objeto em um arquivo de uma aplicação e depois obte-lo em outra aplicação?
Resposta: Se a mesma classe existir nas duas aplicações dá sim! :)
Vamos a um exemplo:
1o.) Criamos um objeto de uma classe comum que será transferido da "aplicação 1" para a "aplicação 2":
import java.io.Serializable;
public class MinhaClasse implements Serializable {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
2o.) Agora, vamos criar a "aplicação 1" que grava o objeto com o valor "Takemura":
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class App1 {
public static void main(String... args) throws Exception {
ObjectOutputStream output = null;
try{
MinhaClasse minhaClasse = new MinhaClasse();
minhaClasse.setNome("Takemura");
output = new ObjectOutputStream(new FileOutputStream("output.dat"));
output.writeObject(minhaClasse);
} finally {
output.close();
}
}
}
3o.) Agora criamos a "aplicação 2" que lê do arquivo, o objeto:
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class App2 {
public static void main(String... args) throws Exception {
ObjectInputStream input = null;
try{
input = new ObjectInputStream(new FileInputStream("output.dat"));
MinhaClasse minhaClasse = (MinhaClasse) input.readObject();
System.out.println(minhaClasse.getNome());
} finally {
input.close();
}
}
}
4o) Execute a App1 e depois a App2 (lembrando que as duas devem ter/enxergar a classe MinhaClasse).
Se tudo funcionar bem, o valor é transferido de uma aplicação para outra.
Legal, não? O mais legal é que dá para transferir via Socket (mas este, fica para um próximo post...)
Até!
Nenhum comentário:
Postar um comentário