Erro estranho

0 respostas
J
O meu problema é o seguinte tenho esse pedaço que guarda um objecto em ficheiro
static Socio user = new Socio ();
	static Jogo game = new Jogo();
	static File fSocio = new File("Socios.dat");	// cria um novo ficheiro com o nome de socios e extenção dat
	static File fGame = new File("Games.dat");		// cria um novo ficheiro com o nome de games e extenção dat
	
	//Escreve o ficheiro socios.dat
    public static void WriteSocio(ArrayList <Socio> lista) { 
    	ArrayList <Socio> listSocio = new ArrayList <Socio> ();
    	listSocio = lista;
    	try{
    		FileOutputStream fos = new FileOutputStream (fSocio);	//Cria o caminho para o ficheiro
    		ObjectOutputStream oos = new ObjectOutputStream (fos);	//Define o tipo de dados que será guardado no ficheiro
    		try{
    			for(int i = 0; i<listSocio.size();i++){
    				user = listSocio.get(i);
    				oos.writeObject(user);							//Escreve o objecto obtido anteriormente no ficheiro
    			}
    		}catch (Exception e){
    			System.out.println ("Erro ao inserir o sócio no ficheiro");
    			System.out.println (e.getMessage());				//Indica onde o erro ocorre
    			System.out.println (e.getCause());					//Indica qual a causa do erro
    		}
    		oos.close();											//serve para fechar os fluxos entre o programa e o ficheiro
    		fos.close();											//de forma a garantir a preservação dos dados
    	}catch (IOException ioe){
    		System.out.println ("Erro ao escrever o ficheiro Socios.dat");
    	}
    }

Até aqui tudo bem!!

Agora aqui fica estranho
static Socio user = new Socio ();
	static Jogo game = new Jogo();
	static File fSocio = new File("Socios.dat");	// cria um novo ficheiro com o nome de socios e extenção dat
	static File fGame = new File("Games.dat");		// cria um novo ficheiro com o nome de games e extenção dat
	
	//Escreve o ficheiro socios.dat
    public static void WriteSocio(ArrayList <Socio> lista) { 
    	ArrayList <Socio> listSocio = new ArrayList <Socio> ();
    	listSocio = lista;
    	try{
    		FileOutputStream fos = new FileOutputStream (fSocio);	//Cria o caminho para o ficheiro
    		ObjectOutputStream oos = new ObjectOutputStream (fos);	//Define o tipo de dados que será guardado no ficheiro
    		try{
    			for(int i = 0; i<listSocio.size();i++){
    				user = listSocio.get(i);
    				oos.writeObject(user);							//Escreve o objecto obtido anteriormente no ficheiro
    			}
    		}catch (Exception e){
    			System.out.println ("Erro ao inserir o sócio no ficheiro");
    			System.out.println (e.getMessage());				//Indica onde o erro ocorre
    			System.out.println (e.getCause());					//Indica qual a causa do erro
    		}
    		oos.close();											//serve para fechar os fluxos entre o programa e o ficheiro
    		fos.close();											//de forma a garantir a preservação dos dados
    	}catch (IOException ioe){
    		System.out.println ("Erro ao escrever o ficheiro Socios.dat");
    	}
    }
    
    //Escreve o ficheiro Games.dat
    public static void WriteGame(ArrayList <Jogo> lista){
    	ArrayList <Jogo> listGame = new ArrayList <Jogo>();
    	listGame = lista;
    	try{
    		FileOutputStream fos = new FileOutputStream (fGame);
    		ObjectOutputStream oos = new ObjectOutputStream (fos);
    		try{
    			for(int i = 0; i<listGame.size();i++){
    				game = listGame.get(i);
    				oos.writeObject(game);    				
    			}
    		}catch (Exception e){
    			System.out.println ("Erro ao inserir o jogo no ficheiro");
    			System.out.println (e.getMessage());
    			System.out.println (e.getCause());
    		}
    		oos.close();
    		fos.close();
    	}catch (IOException ioe){
    		System.out.println ("Erro ao escrever o ficheiro Games.dat");
    	}
    }

O Erro e de tar tentando guardar um objecto null, mas antes que me digam que não tem mistério já fiz um println ao objecto game e ele está preenchido dai a minha duvida será que me esta escapando algo???

[]'s

Criado 24 de maio de 2009
Respostas 0
Participantes 1