Duvida sobre serialização

Olá !!!

Como é que eu faço para recuperar os três objetos gravados no arquivo ‘teste.txt’ ?


import java.io.*;
public class Main implements Serializable{     
    int idade;
    String nome ;    
    Main(int idade, String nome){
       this.idade=idade;
       this.nome = nome;
    }
            
    public static void main(String[] args) throws Exception {     
             Main m1 = new Main(1,"teste1");
             Main m2 = new Main(2,"teste2");
             Main m3 = new Main(3,"teste3");
             FileOutputStream fs = new FileOutputStream("c:\teste\teste.txt");
             ObjectOutputStream os = new ObjectOutputStream(fs);
             os.writeObject(m1);
             os.writeObject(m2);
             os.writeObject(m3);
        
             FileInputStream is = new FileInputStream("c:\teste\teste.txt");  
             ObjectInputStream oi = new ObjectInputStream(is);
             Main ma = (Main)oi.readObject();
                         
             System.out.println(ma.idade);
             System.out.println(ma.nome);           
    }    
}

Obrigado

Qual o erro que você está tendo? Testei teu código aqui e consegui ler os 3 objetos sem problemas…

Roda ae…

Capivara.java[code]import java.io.*;

public class Capivara implements Serializable{
String nome;
int idade;

public Capivara(String nome, int idade){
	this.nome = nome; 
	this.idade = idade;
}

public String getNome(){
	return nome;
}		

public int getIdade(){
	return idade;
}		

}[/code]TesteCapivara.java

[code]import java.io.*;

public class TesteCapivara {

public static void main(String[] args){
	Capivara capivara = new Capivara("Capi", 5);
	
	try{
		FileOutputStream fs = new FileOutputStream("arquivoSerial.ser");
		ObjectOutputStream os = new ObjectOutputStream(fs);
		os.writeObject(capivara);
		os.close();
	
	}catch(Exception e){
		e.printStackTrace();
	}
	
	try{
		FileInputStream fis = new FileInputStream("arquivoSerial.ser");
		ObjectInputStream ois = new ObjectInputStream(fis);
		capivara = (Capivara) ois.readObject();
		ois.close();
	}catch(Exception e){
		e.printStackTrace();
	}

	System.out.println("Depois: " + capivara.getNome() + " " + capivara.getIdade());

}

}[/code]

Abraço!

está dando erro nenhum.
eu não consigo recuperar os valores das variáveis m1, m2 e m3.