Olá pessoal do GUJ!
Minha dúvida é a seguinte:
Eu tenho um objeto serializado mas na hora de obter as informações desse objeto eu não consigo separá-las, ou seja, na deserialização do objeto os dados ficam concatenados como vocês podem ver abaixo...
init:
deps-jar:
compile:
Objeto gravado com sucesso!
Recuperando objeto:
teste 123
Estas são minhas classes:
public class Main {
Dados dado = null;
public Main(){
}
public static void serializa(Dados dad){
try{
FileOutputStream arquivoGrav = new FileOutputStream("c:/serializado.dat");
//Classe responsavel por inserir os objetos
ObjectOutputStream objGravar = new ObjectOutputStream(arquivoGrav);
//Grava o objeto cliente no arquivo
objGravar.writeObject(dad);
objGravar.flush();
objGravar.close();
arquivoGrav.flush();
arquivoGrav.close();
System.out.println("Objeto gravado com sucesso!");
//boolean success = (new File("C:/serializado.mrc")).delete();
}
catch(Exception e){
}
}
public static void diserializa(String caminho){
System.out.println("Recuperando objeto: ");
try{
//Carrega o arquivo
FileInputStream arquivoLeitura = new FileInputStream("c:/serializado.dat");
//Classe responsavel por recuperar os objetos do arquivo
ObjectInputStream objLeitura = new ObjectInputStream(arquivoLeitura);
System.out.println(objLeitura.readObject());
objLeitura.close();
arquivoLeitura.close();
}
catch( EOFException e ){
e.printStackTrace( );
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
Dados dados = new Dados("teste", 123);
serializa(dados);
diserializa("C:/serializado.dat");
}
}
public class Dados implements Serializable{
private String nome = "";
private int numero = 0;
public Dados(String nome, int numero){
super();
this.nome = nome;
this.numero = numero;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String toString(){
return this.nome + " " + this.numero;
}
}